home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c19.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  85KB  |  3,588 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T0* r51clients_for(T51* C,T0* a1){
  12. T0* R=NULL;
  13. /*[IF*/
  14. if(r51proper_has(C,a1)){
  15. R=/*SSWARF2*//*X90clients*/(/*RF2*/((T198*)(r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),X82to_key(a1))))->_clients/*16*/);
  16. }
  17.  else if(r51is_general(C)){
  18. }
  19.  else if(((/*RF2*/(C)->_parent_list/*34*/))==((void*)(NULL))){
  20. R=r51clients_for((T51*)(r51class_any()),a1);
  21. }
  22. else{
  23. R=r57clients_for((T57*)((/*RF2*/(C)->_parent_list/*34*/)),a1);
  24. }
  25. /*FI]*/
  26. return R;
  27. }
  28.  
  29.  
  30. T0* r51e_feature(T51* C,T0* a1){
  31. T0* R=NULL;
  32. T0* _key=NULL;
  33. _key=X82to_key(a1);
  34. /*[IF*/
  35. if(r91has((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_key)){
  36. R=r91at((T91*)((/*RF2*/(C)->_feature_dictionary/*54*/)),_key);
  37. }
  38. else{
  39. R=r51super_e_feature(C,a1);
  40. }
  41. /*FI]*/
  42. return R;
  43. }
  44. T0*oBC51going_up_trace=NULL;
  45. T0*oBC51visited=NULL;
  46.  
  47.  
  48. T0* r307try_to_undefine_aux(T307* C,T0* a1,T0* a2){
  49. T0* R=NULL;
  50. {T287*n=((T287*)malloc(sizeof(*n))/*44*/);
  51. *n=M287;
  52. r287from_effective(n,a1,(/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_result_type/*56*/),(/*RF2*/(C)->_require_assertion/*28*/),(/*RF2*/(C)->_ensure_assertion/*32*/),a2);
  53. R=((T0*)n);
  54. }
  55. return R;
  56. }
  57.  
  58.  
  59. T0* r307try_to_undefine(T307* C,T0* a1,T0* a2){
  60. T0* R=NULL;
  61. T0* _fn2=NULL;
  62. {T68 se_tmp0;
  63. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  64. }
  65. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  66. /*[IF*/
  67. if((_fn2)!=((void*)(NULL))){
  68. X82undefine_in(_fn2,a2);
  69. }
  70. /*FI]*/
  71. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  72. /*]*/
  73. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  74. /*]*/
  75. /*]*/
  76. R=r307try_to_undefine_aux(C,a1,a2);
  77. /*[IF*/
  78. if((R)!=((void*)(NULL))){
  79. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  80. r307merge_header_comments(C,R);
  81. }
  82. else{
  83. r51fatal_undefine(((T51*)a2),a1);
  84. }
  85. /*FI]*/
  86. return R;
  87. }
  88.  
  89.  
  90. void r307check_obsolete(T307* C,T68 a1){
  91. /*[IF*/
  92. if(((/*RF2*/(C)->_obsolete_mark/*24*/))!=((void*)(NULL))){
  93. /*[IF*/
  94. if(!((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/))){
  95. r66add_position(a1);
  96. /*[IRF3.6append*/{T0* b1=((T0*)ms90_19170);
  97. r7append((T7*)(oBC66explanation),b1);
  98. }/*]*/
  99. /*[IRF3.6append*/{T0* b1=(/*RF2*/((T161*)((/*RF2*/(C)->_obsolete_mark/*24*/)))->_to_string/*12*/);
  100. r7append((T7*)(oBC66explanation),b1);
  101. }/*]*/
  102. {T68 se_tmp0;
  103. r66add_position((*(se_tmp0=r307start_position(C),&se_tmp0)));
  104. }
  105. r66print_as_warning((T66*)(oBC13eh));
  106. }
  107. /*FI]*/
  108. }
  109. /*FI]*/
  110. }
  111.  
  112.  
  113. T0* r307to_run_feature(T307* C,T0* a1,T0* a2){
  114. T0* R=NULL;
  115. {T395*n=((T395*)malloc(sizeof(*n))/*56*/);
  116. *n=M395;
  117. r395make(n,a1,a2,(T0*)C);
  118. R=((T0*)n);
  119. }
  120. return R;
  121. }
  122.  
  123.  
  124. void r307error(T68 a1,T0* a2){
  125. r66add_position(a1);
  126. /*[IRF3.6append*/{T0* b1=a2;
  127. r7append((T7*)(oBC66explanation),b1);
  128. }/*]*/
  129. r66print_as_error((T66*)(oBC13eh));
  130. }
  131.  
  132.  
  133. T6 r307is_not_mergeable_with(T307* C,T0* a1){
  134. T6 R=0;
  135. /*[IF*/
  136. if(((/*RF2*/(C)->_result_type/*56*/))==((void*)(NULL))){
  137. R=(X90result_type(a1))!=((void*)(NULL));
  138. }
  139. else{
  140. R=(X90result_type(a1))==((void*)(NULL));
  141. }
  142. /*FI]*/
  143. /*[IF*/
  144. if(R){
  145. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  146. r7append((T7*)(oBC66explanation),b1);
  147. }/*]*/
  148. }
  149. else{
  150. /*[IF*/
  151. if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
  152. R=(X90arguments(a1))!=((void*)(NULL));
  153. }
  154. else{
  155. R=(X90arguments(a1))==((void*)(NULL));
  156. }
  157. /*FI]*/
  158. /*[IF*/
  159. if(R){
  160. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  161. r7append((T7*)(oBC66explanation),b1);
  162. }/*]*/
  163. }
  164.  else if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
  165. }
  166.  else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
  167. /*[IRF3.6append*/{T0* b1=((T0*)ms90_66660);
  168. r7append((T7*)(oBC66explanation),b1);
  169. }/*]*/
  170. R=1;
  171. }
  172. /*FI]*/
  173. }
  174. /*FI]*/
  175. r307merge_header_comments(C,a1);
  176. return R;
  177. }
  178.  
  179.  
  180. void r307set_header_comment(T307* C,T0* a1){
  181. /*[IF*/
  182. if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)>(1))){
  183. (/*SFN*/C->_end_comment)=a1;
  184. }
  185. /*FI]*/
  186. }
  187.  
  188.  
  189. void r307make_routine(T307* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  190. /*[IRF3.3make_e_feature*/((((T307*)(C)))->_names)=(a1);
  191. /*]*/
  192. (/*SFN*/C->_header_comment)=a4;
  193. (/*SFN*/C->_arguments)=a2;
  194. (/*SFN*/C->_obsolete_mark)=a3;
  195. (/*SFN*/C->_require_assertion)=a5;
  196. }
  197.  
  198.  
  199. void r307make(T307* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
  200. r307make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
  201. (/*SFN*/C->_result_type)=a3;
  202. }
  203.  
  204.  
  205. void r307add_into(T307* C,T0* a1){
  206. T0* _fn=NULL;
  207. T2 _i=0;
  208. {T68 se_tmp0;
  209. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  210. }
  211. _i=1;
  212. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  213. {
  214. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  215. /*[IF*/
  216. if(r91has(((T91*)a1),X82to_key(_fn))){
  217. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  218. {T68 se_tmp0;
  219. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  220. }
  221. {T68 se_tmp0;
  222. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  223. }
  224. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  225. r7append((T7*)(oBC66explanation),b1);
  226. }/*]*/
  227. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  228. r7append((T7*)(oBC66explanation),b1);
  229. }/*]*/
  230. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  231. r7append((T7*)(oBC66explanation),b1);
  232. }/*]*/
  233. r66print_as_error((T66*)(oBC13eh));
  234. }
  235. else{
  236. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  237. }
  238. /*FI]*/
  239. _i=(_i)+(1);
  240. }
  241. }
  242.  
  243.  
  244. T6 r307can_hide(T307* C,T0* a1,T0* a2){
  245. T6 R=0;
  246. /*[IF*/
  247. if(((/*RF2*/(C)->_result_type/*56*/))!=((void*)(X90result_type(a1)))){
  248. /*[IF*/
  249. if((((/*RF2*/(C)->_result_type/*56*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  250. {T68 se_tmp0;
  251. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  252. }
  253. {T68 se_tmp0;
  254. r307error((*(se_tmp0=r307start_position(C),&se_tmp0)),((T0*)ms90_64152));
  255. }
  256. }
  257. /*FI]*/
  258. }
  259. /*FI]*/
  260. /*[IF*/
  261. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(X90arguments(a1)))){
  262. /*[IF*/
  263. if((((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL)))||((X90arguments(a1))==((void*)(NULL)))){
  264. {T68 se_tmp0;
  265. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  266. }
  267. {T68 se_tmp0;
  268. r307error((*(se_tmp0=r307start_position(C),&se_tmp0)),((T0*)ms90_82612));
  269. }
  270. }
  271.  else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
  272. {T68 se_tmp0;
  273. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  274. }
  275. {T68 se_tmp0;
  276. r307error((*(se_tmp0=r307start_position(C),&se_tmp0)),((T0*)ms90_66660));
  277. }
  278. }
  279. /*FI]*/
  280. }
  281. /*FI]*/
  282. /*[IF*/
  283. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  284. /*[IF*/
  285. if(((/*RF2*/(C)->_result_type/*56*/))!=((void*)(NULL))){
  286. /*[IF*/
  287. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*56*/),X90result_type(a1),a2))){
  288. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  289. r7append((T7*)(oBC66explanation),b1);
  290. }/*]*/
  291. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  292. r7append((T7*)(oBC66explanation),b1);
  293. }/*]*/
  294. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  295. r7append((T7*)(oBC66explanation),b1);
  296. }/*]*/
  297. r66print_as_error((T66*)(oBC13eh));
  298. }
  299. /*FI]*/
  300. }
  301. /*FI]*/
  302. }
  303. /*FI]*/
  304. /*[IF*/
  305. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  306. /*[IF*/
  307. if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
  308. /*[IF*/
  309. if(!(r178is_a_in((T178*)((/*RF2*/(C)->_arguments/*20*/)),X90arguments(a1),a2))){
  310. {T68 se_tmp0;
  311. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  312. }
  313. {T68 se_tmp0;
  314. r66add_position((*(se_tmp0=r307start_position(C),&se_tmp0)));
  315. }
  316. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  317. r7append((T7*)(oBC66explanation),b1);
  318. }/*]*/
  319. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  320. r7append((T7*)(oBC66explanation),b1);
  321. }/*]*/
  322. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  323. r7append((T7*)(oBC66explanation),b1);
  324. }/*]*/
  325. r66print_as_error((T66*)(oBC13eh));
  326. }
  327. /*FI]*/
  328. }
  329. /*FI]*/
  330. }
  331. /*FI]*/
  332. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  333. /*[IF*/
  334. if(R){
  335. r307merge_header_comments(C,a1);
  336. }
  337. /*FI]*/
  338. return R;
  339. }
  340.  
  341.  
  342. void r307merge_header_comments(T307* C,T0* a1){
  343. /*[IF*/
  344. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  345. /*[IF*/
  346. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  347. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  348. }
  349.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  350. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  351. }
  352. /*FI]*/
  353. }
  354. /*FI]*/
  355. }
  356.  
  357.  
  358. void r307make_effective_routine(T307* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  359. r307make_routine(C,a1,a2,a3,a4,a5);
  360. (/*SFN*/C->_local_vars)=a6;
  361. (/*SFN*/C->_routine_body)=a7;
  362. (/*SFN*/C->_use_current_state)=9;
  363. }
  364.  
  365.  
  366. T68 r307start_position(T307* C){
  367. T68 R={NULL,0};
  368. {T68 se_tmp0;
  369. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  370. }
  371. return R;
  372. }
  373.  
  374.  
  375. T0* r282left_type(T282* C){
  376. T0* R=NULL;
  377. R=X104result_type((/*RF2*/(C)->_left_side/*4*/));
  378. return R;
  379. }
  380.  
  381.  
  382. void r282make(T282* C,T0* a1,T0* a2){
  383. (/*SFN*/C->_left_side)=a1;
  384. (/*SFN*/C->_right_side)=a2;
  385. }
  386.  
  387.  
  388. void r282fatal_error(T0* a1){
  389. /*[IRF3.6append*/{T0* b1=a1;
  390. r7append((T7*)(oBC66explanation),b1);
  391. }/*]*/
  392. r66print_as_fatal_error((T66*)(oBC13eh));
  393. }
  394.  
  395.  
  396. T0* r282implicit_conversion(T282* C){
  397. T0* R=NULL;
  398. T0* _rhs=NULL;
  399. T0* _right_run_type=NULL;
  400. T0* _left_run_type=NULL;
  401. _left_run_type=X52run_type(r282left_type(C));
  402. _right_run_type=X52run_type(r282right_type(C));
  403. /*[IF*/
  404. if((X104is_void((/*RF2*/(C)->_right_side/*8*/)))&&(X52is_expanded(_left_run_type))){
  405. {T68 se_tmp0;
  406. r66add_position((*(se_tmp0=X104start_position((/*RF2*/(C)->_right_side/*8*/)),&se_tmp0)));
  407. }
  408. /*[IRF3.6append*/{T0* b1=((T0*)ms282_168036);
  409. r7append((T7*)(oBC66explanation),b1);
  410. }/*]*/
  411. r66add_type(r282left_type(C),((T0*)ms282_46));
  412. r66print_as_error((T66*)(oBC13eh));
  413. }
  414. /*FI]*/
  415. _rhs=r341implicit_cast((T341*)(oBC13conversion_handler),(/*RF2*/(C)->_right_side/*8*/),_left_run_type);
  416. /*[IF*/
  417. if((_rhs)==((void*)((/*RF2*/(C)->_right_side/*8*/)))){
  418. R=((T0*)(C));
  419. }
  420. else{
  421. {T282*n=((T282*)malloc(sizeof(*n))/*12*/);
  422. *n=M282;
  423. r282make(n,(/*RF2*/(C)->_left_side/*4*/),_rhs);
  424. R=((T0*)n);
  425. }
  426. }
  427. /*FI]*/
  428. return R;
  429. }
  430.  
  431.  
  432. T0* r282add_comment(T282* C,T0* a1){
  433. T0* R=NULL;
  434. /*[IF*/
  435. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  436. R=((T0*)(C));
  437. }
  438. /*AF*/else{
  439. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  440. *n=M224;
  441. r224make(n,(T0*)C,a1);
  442. R=((T0*)n);
  443. }
  444. }
  445. /*FI]*/
  446. return R;
  447. }
  448.  
  449.  
  450. void r282compile_to_c(T282* C){
  451. T6 _cast_t0=0;
  452. {T68 se_tmp0;
  453. r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r282start_position(C),&se_tmp0)));
  454. }
  455. /*[IF*/
  456. if(X104is_current((/*RF2*/(C)->_right_side/*8*/))){
  457. /*[IF*/
  458. if(X52is_reference(r282left_type(C))){
  459. _cast_t0=X52is_reference(r282right_type(C));
  460. }
  461. /*FI]*/
  462. }
  463. /*FI]*/
  464. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  465. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  466. T3 b1=((T3)'\75');
  467. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  468. }/*]*/
  469. /*]*/
  470. /*[IF*/
  471. if(_cast_t0){
  472. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms282_3738));
  473. /*]*/
  474. }
  475. /*FI]*/
  476. X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
  477. /*[IF*/
  478. if(_cast_t0){
  479. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms282_164));
  480. /*]*/
  481. }
  482. /*FI]*/
  483. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  484. /*]*/
  485. }
  486.  
  487.  
  488. void r282afd_check(T282* C){
  489. X104afd_check((/*RF2*/(C)->_right_side/*8*/));
  490. }
  491.  
  492.  
  493. void r282collect_c_tmp(T282* C){
  494. X104collect_c_tmp((/*RF2*/(C)->_right_side/*8*/));
  495. }
  496.  
  497.  
  498. T6 r282use_current(T282* C){
  499. T6 R=0;
  500. R=X104use_current((/*RF2*/(C)->_left_side/*4*/));
  501. R=(R)||(X104use_current((/*RF2*/(C)->_right_side/*8*/)));
  502. return R;
  503. }
  504.  
  505.  
  506. T6 r282stupid_switch(T282* C,T0* a1){
  507. T6 R=0;
  508. /*[IF*/
  509. if(X104stupid_switch((/*RF2*/(C)->_left_side/*4*/),a1)){
  510. /*[IF*/
  511. if(X104stupid_switch((/*RF2*/(C)->_right_side/*8*/),a1)){
  512. R=1;
  513. }
  514. /*FI]*/
  515. }
  516. /*FI]*/
  517. return R;
  518. }
  519.  
  520.  
  521. T0* r282to_runnable(T282* C,T0* a1){
  522. T0* R=NULL;
  523. T0* _r=NULL;
  524. T0* _l=NULL;
  525. _l=X104to_runnable((/*RF2*/(C)->_left_side/*4*/),a1);
  526. /*[IF*/
  527. if((_l)==((void*)(NULL))){
  528. {T68 se_tmp0;
  529. r66add_position((*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0)));
  530. }
  531. r282fatal_error(((T0*)ms14_63393));
  532. }
  533. /*FI]*/
  534. _r=X104to_runnable((/*RF2*/(C)->_right_side/*8*/),a1);
  535. /*[IF*/
  536. if((_r)==((void*)(NULL))){
  537. {T68 se_tmp0;
  538. r66add_position((*(se_tmp0=X104start_position((/*RF2*/(C)->_right_side/*8*/)),&se_tmp0)));
  539. }
  540. r282fatal_error(((T0*)ms14_67082));
  541. }
  542. /*FI]*/
  543. /*[IF*/
  544. if(!(X52is_a(X104result_type(_r),X104result_type(_l)))){
  545. {T68 se_tmp0;
  546. r66add_position((*(se_tmp0=X104start_position(_l),&se_tmp0)));
  547. }
  548. r282fatal_error(((T0*)ms282_31855));
  549. }
  550. /*FI]*/
  551. /*[IF*/
  552. if(((_l)==((void*)((/*RF2*/(C)->_left_side/*4*/))))&&((_r)==((void*)((/*RF2*/(C)->_right_side/*8*/))))){
  553. R=r282implicit_conversion(C);
  554. }
  555. else{
  556. {T282*n=((T282*)malloc(sizeof(*n))/*12*/);
  557. *n=M282;
  558. r282make(n,_l,_r);
  559. R=((T0*)n);
  560. }
  561. R=r282implicit_conversion(((T282*)R));
  562. }
  563. /*FI]*/
  564. return R;
  565. }
  566.  
  567.  
  568. T0* r282right_type(T282* C){
  569. T0* R=NULL;
  570. R=X104result_type((/*RF2*/(C)->_right_side/*8*/));
  571. return R;
  572. }
  573.  
  574.  
  575. T6 r282is_pre_computable(T282* C){
  576. T6 R=0;
  577. T0* _rf6=NULL;
  578. T0* _call=NULL;
  579. /*[IF*/
  580. if(X104is_pre_computable((/*RF2*/(C)->_right_side/*8*/))){
  581. _call=(/*RF2*/(C)->_right_side/*8*/);
  582. if(NULL!=(_call)){
  583. switch(((T0*)_call)->id){
  584. case 134:case 187:case 120:case 118:case 193:case 192:case 125:case 142:case 140:case 130:case 186:case 135:case 127:case 122:case 189:case 117:case 111:case 124:case 126:case 191:case 190:case 119:case 121:case 128:case 143:case 136:case 123:
  585. break;
  586. default:
  587. _call=NULL;
  588. }
  589. }/*[IF*/
  590. if((_call)!=((void*)(NULL))){
  591. _rf6=X115run_feature(_call);
  592. if(NULL!=(_rf6)){
  593. switch(((T0*)_rf6)->id){
  594. case 395:
  595. break;
  596. default:
  597. _rf6=NULL;
  598. }
  599. }R=(_rf6)==((void*)(NULL));
  600. }
  601. else{
  602. R=1;
  603. }
  604. /*FI]*/
  605. }
  606. /*FI]*/
  607. return R;
  608. }
  609.  
  610.  
  611. T68 r282start_position(T282* C){
  612. T68 R={NULL,0};
  613. {T68 se_tmp0;
  614. R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0));
  615. }
  616. return R;
  617. }
  618.  
  619.  
  620. T0* r159add_comment(T159* C,T0* a1){
  621. T0* R=NULL;
  622. /*[IF*/
  623. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  624. R=((T0*)(C));
  625. }
  626. else{
  627. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  628. *n=M229;
  629. r229make(n,(T0*)C,a1);
  630. R=((T0*)n);
  631. }
  632. }
  633. /*FI]*/
  634. return R;
  635. }
  636.  
  637.  
  638. T0* r159to_runnable(T159* C,T0* a1){
  639. T0* R=NULL;
  640. T0* _t=NULL;
  641. R=((T0*)(C));
  642. _t=r263to_runnable((T263*)(/*(IRF4.8result_type*/r159type_boolean()/*)*/),a1);
  643. return R;
  644. }
  645.  
  646.  
  647. void r159error(T68 a1,T0* a2){
  648. r66add_position(a1);
  649. /*[IRF3.6append*/{T0* b1=a2;
  650. r7append((T7*)(oBC66explanation),b1);
  651. }/*]*/
  652. r66print_as_error((T66*)(oBC13eh));
  653. }
  654.  
  655.  
  656. T0* r159type_boolean(void){
  657. if(fBC13type_boolean==0){fBC13type_boolean=1;{
  658. T68 _unknown_position={NULL,0};
  659. {T263*n=((T263*)malloc(sizeof(*n))/*8*/);
  660. *n=M263;
  661. oBC13type_boolean=((T0*)n);
  662. r263make(n,_unknown_position);
  663. }
  664. }}
  665. return oBC13type_boolean;
  666. }
  667.  
  668.  
  669. T0* r159static_result_base_class(void){
  670. T0* R=NULL;
  671. R=r49get_class(((T0*)ms15_6405));
  672. return R;
  673. }
  674.  
  675.  
  676. T2 r159isa_dca_inline_argument(void){
  677. T2 R=0;
  678. /*[IF*/
  679. {/*AT*/R=-(1);
  680. }
  681. /*FI]*/
  682. return R;
  683. }
  684.  
  685.  
  686. void r322make(T322* C,T0* a1){
  687. {T323*n=((T323*)malloc(sizeof(*n))/*16*/);
  688. *n=M323;
  689. r323with_capacity(n,4,1);
  690. (/*SFN*/C->_list)=((T0*)n);
  691. }
  692. r323add_last((T323*)((/*RF2*/(C)->_list/*0*/)),a1);
  693. }
  694.  
  695.  
  696. void r83add_last(T83* C,T0* a1){
  697. T0* _fn2=NULL;
  698. _fn2=r83feature_name(C,X82to_key(a1));
  699. /*[IF*/
  700. if((_fn2)!=((void*)(NULL))){
  701. r83fe_multiple(_fn2,a1);
  702. }
  703. /*FI]*/
  704. /*[IF*/
  705. if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  706. {T84*n=((T84*)malloc(sizeof(*n))/*12*/);
  707. *n=M84;
  708. r84with_capacity(n,4);
  709. (/*SFN*/C->_remainder)=((T0*)n);
  710. }
  711. }
  712. /*FI]*/
  713. r84add_last((T84*)((/*RF2*/(C)->_remainder/*4*/)),a1);
  714. }
  715.  
  716.  
  717. T0* r83root_procedure_name(T83* C,T0* a1){
  718. T0* R=NULL;
  719. T0* _fn=NULL;
  720. T2 _i=0;
  721. _i=r83count(C);
  722. while (!(((_i)==(0))||((R)!=((void*)(NULL)))))
  723. {
  724. _fn=r83item(C,_i);
  725. /*[IF*/
  726. if(r7is_equal((T7*)(X82to_string(_fn)),a1)){
  727. R=_fn;
  728. if(NULL!=(R)){
  729. switch(((T0*)R)->id){
  730. case 138:
  731. break;
  732. default:
  733. R=NULL;
  734. }
  735. }}
  736. /*FI]*/
  737. _i=(_i)-(1);
  738. }
  739. return R;
  740. }
  741.  
  742.  
  743. void r83make_n(T83* C,T0* a1){
  744. T2 _j=0;
  745. T2 _i=0;
  746. _i=(/*RF2*/(((T84*)a1))->_upper/*8*/);
  747. while (!((_i)<(0)))
  748. {
  749. _j=(_i)-(1);
  750. while (!((_j)<(0)))
  751. {
  752. /*[IF*/
  753. if((X82to_key(/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[_i]/*)*/))==((void*)(X82to_key(/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[_j]/*)*/)))){
  754. r83fe_multiple(/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[_i]/*)*/,/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[_j]/*)*/);
  755. }
  756. /*FI]*/
  757. _j=(_j)-(1);
  758. }
  759. _i=(_i)-(1);
  760. }
  761. (/*SFN*/C->_first)=/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[0]/*)*/;
  762. _i=(/*RF2*/(((T84*)a1))->_upper/*8*/);
  763. /*[IF*/
  764. if((_i)>(0)){
  765. {T84*n=((T84*)malloc(sizeof(*n))/*12*/);
  766. *n=M84;
  767. r84make(n,_i);
  768. (/*SFN*/C->_remainder)=((T0*)n);
  769. }
  770. _j=0;
  771. while (!((_i)==(0)))
  772. {
  773. /*[IRF3.5put*/((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[_j]=(/*(IRF4.6item*/((/*RF2*/(((T84*)a1))->_storage/*0*/))[(_j)+(1)]/*)*/);
  774. /*]*/
  775. _j=(_j)+(1);
  776. _i=(_i)-(1);
  777. }
  778. }
  779. /*FI]*/
  780. }
  781.  
  782.  
  783. T0* r83feature_name(T83* C,T0* a1){
  784. T0* R=NULL;
  785. T2 _i=0;
  786. /*[IF*/
  787. if((X82to_key((/*RF2*/(C)->_first/*0*/)))==((void*)(a1))){
  788. R=(/*RF2*/(C)->_first/*0*/);
  789. }
  790.  else if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  791. }
  792. else{
  793. _i=(/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_upper/*8*/);
  794. while (!(((_i)<(0))||((a1)==((void*)(X82to_key(/*(IRF4.6item*/((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[_i]/*)*/))))))
  795. {
  796. _i=(_i)-(1);
  797. }
  798. /*[IF*/
  799. if((_i)>=(0)){
  800. R=/*(IRF4.6item*/((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[_i]/*)*/;
  801. }
  802. /*FI]*/
  803. }
  804. /*FI]*/
  805. return R;
  806. }
  807.  
  808.  
  809. void r83fatal_error(T0* a1){
  810. /*[IRF3.6append*/{T0* b1=a1;
  811. r7append((T7*)(oBC66explanation),b1);
  812. }/*]*/
  813. r66print_as_fatal_error((T66*)(oBC13eh));
  814. }
  815.  
  816.  
  817. void r83fe_multiple(T0* a1,T0* a2){
  818. {T68 se_tmp0;
  819. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  820. }
  821. {T68 se_tmp0;
  822. r66add_position((*(se_tmp0=X82start_position(a2),&se_tmp0)));
  823. }
  824. r83fatal_error(((T0*)ms83_60608));
  825. }
  826.  
  827.  
  828. T2 r83index_of(T83* C,T0* a1){
  829. T2 R=0;
  830. T0* _fn_key=NULL;
  831. _fn_key=X82to_key(a1);
  832. /*[IF*/
  833. if((X82to_key((/*RF2*/(C)->_first/*0*/)))==((void*)(_fn_key))){
  834. R=1;
  835. }
  836.  else if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  837. }
  838. else{
  839. R=(/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_upper/*8*/);
  840. while (!(((R)<(0))||((_fn_key)==((void*)(X82to_key(/*(IRF4.6item*/((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[R]/*)*/))))))
  841. {
  842. R=(R)-(1);
  843. }
  844. /*[IF*/
  845. if((R)<(0)){
  846. R=0;
  847. }
  848. else{
  849. R=(R)+(2);
  850. }
  851. /*FI]*/
  852. }
  853. /*FI]*/
  854. return R;
  855. }
  856.  
  857.  
  858. T2 r83count(T83* C){
  859. T2 R=0;
  860. /*[IF*/
  861. if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  862. R=1;
  863. }
  864. else{
  865. R=((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_upper/*8*/))+(2);
  866. }
  867. /*FI]*/
  868. return R;
  869. }
  870.  
  871.  
  872. T6 r83has(T83* C,T0* a1){
  873. T6 R=0;
  874. R=(r83index_of(C,a1))>(0);
  875. return R;
  876. }
  877.  
  878.  
  879. T0* r83item(T83* C,T2 a1){
  880. T0* R=NULL;
  881. /*[IF*/
  882. if((a1)==(1)){
  883. R=(/*RF2*/(C)->_first/*0*/);
  884. }
  885. else{
  886. R=/*(IRF4.6item*/((/*RF2*/((T84*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[(a1)-(2)]/*)*/;
  887. }
  888. /*FI]*/
  889. return R;
  890. }
  891.  
  892.  
  893. void r219make(T219* C,T68 a1,T0* a2,T0* a3){
  894. (/*SFN*/C->_start_position)=a1;
  895. (/*SFN*/C->_list)=a2;
  896. (/*SFN*/C->_compound)=a3;
  897. }
  898.  
  899.  
  900. T0* r219add_comment(T219* C,T0* a1){
  901. T0* R=NULL;
  902. /*[IF*/
  903. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  904. R=((T0*)(C));
  905. }
  906.  else {/*AT*//*[IF*/
  907. if((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(1)){
  908. R=((T0*)(C));
  909. }
  910. else{
  911. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  912. *n=M224;
  913. r224make(n,(T0*)C,a1);
  914. R=((T0*)n);
  915. }
  916. }
  917. /*FI]*/
  918. }
  919. /*FI]*/
  920. return R;
  921. }
  922.  
  923.  
  924. void r219compile_to_c(T219* C){
  925. /*[IF*/
  926. if(r47debug_check((T47*)(oBC13run_control))){
  927. /*[IF*/
  928. if(((/*RF2*/(C)->_compound/*16*/))!=((void*)(NULL))){
  929. r215compile_to_c((T215*)((/*RF2*/(C)->_compound/*16*/)));
  930. }
  931. /*FI]*/
  932. }
  933. /*FI]*/
  934. }
  935.  
  936.  
  937. void r219afd_check(T219* C){
  938. /*[IF*/
  939. if(r47debug_check((T47*)(oBC13run_control))){
  940. /*[IF*/
  941. if(((/*RF2*/(C)->_compound/*16*/))!=((void*)(NULL))){
  942. r215afd_check((T215*)((/*RF2*/(C)->_compound/*16*/)));
  943. }
  944. /*FI]*/
  945. }
  946. /*FI]*/
  947. }
  948.  
  949.  
  950. T6 r219use_current(T219* C){
  951. T6 R=0;
  952. /*[IF*/
  953. if(r47debug_check((T47*)(oBC13run_control))){
  954. /*[IF*/
  955. if(((/*RF2*/(C)->_compound/*16*/))!=((void*)(NULL))){
  956. R=r215use_current((T215*)((/*RF2*/(C)->_compound/*16*/)));
  957. }
  958. /*FI]*/
  959. }
  960. /*FI]*/
  961. return R;
  962. }
  963.  
  964.  
  965. T0* r219to_runnable(T219* C,T0* a1){
  966. T0* R=NULL;
  967. /*[IF*/
  968. if(((/*RF2*/(C)->_current_type/*20*/))==((void*)(NULL))){
  969. (/*SFN*/C->_current_type)=a1;
  970. /*[IF*/
  971. if(r47debug_check((T47*)(oBC13run_control))){
  972. /*[IF*/
  973. if(((/*RF2*/(C)->_compound/*16*/))!=((void*)(NULL))){
  974. (/*SFN*/C->_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_compound/*16*/)),a1);
  975. }
  976. /*FI]*/
  977. }
  978. /*FI]*/
  979. R=((T0*)(C));
  980. }
  981. else{
  982. {T219*n=((T219*)malloc(sizeof(*n))/*24*/);
  983. *n=M219;
  984. r219make(n,(/*RF2*/(C)->_start_position/*4*/),(/*RF2*/(C)->_list/*12*/),(/*RF2*/(C)->_compound/*16*/));
  985. R=((T0*)n);
  986. }
  987. R=r219to_runnable(((T219*)R),a1);
  988. }
  989. /*FI]*/
  990. return R;
  991. }
  992.  
  993.  
  994. void r194add_last(T194* C,T0* a1){
  995. T2 _i=0;
  996. _i=r194index_of(C,a1);
  997. /*[IF*/
  998. if((_i)>(0)){
  999. r66add_position((/*RF2*/((T61*)(r194item(C,_i)))->_start_position/*0*/));
  1000. r194warning((/*RF2*/(((T61*)a1))->_start_position/*0*/),((T0*)ms194_54060));
  1001. }
  1002. /*FI]*/
  1003. /*[IF*/
  1004. if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  1005. {T195*n=((T195*)malloc(sizeof(*n))/*12*/);
  1006. *n=M195;
  1007. r195with_capacity(n,4);
  1008. (/*SFN*/C->_remainder)=((T0*)n);
  1009. }
  1010. }
  1011. /*FI]*/
  1012. r195add_last((T195*)((/*RF2*/(C)->_remainder/*4*/)),a1);
  1013. }
  1014.  
  1015.  
  1016. void r194warning(T68 a1,T0* a2){
  1017. r66add_position(a1);
  1018. /*[IRF3.6append*/{T0* b1=a2;
  1019. r7append((T7*)(oBC66explanation),b1);
  1020. }/*]*/
  1021. r66print_as_warning((T66*)(oBC13eh));
  1022. }
  1023.  
  1024.  
  1025. void r194merge(T194* C,T0* a1,T0* a2){
  1026. T0* _cn=NULL;
  1027. T2 _i=0;
  1028. (/*SFN*/C->_first)=r194item(((T194*)a1),1);
  1029. {T195*n=((T195*)malloc(sizeof(*n))/*12*/);
  1030. *n=M195;
  1031. r195with_capacity(n,((r194count(((T194*)a1)))+(r194count(((T194*)a2))))-(1));
  1032. (/*SFN*/C->_remainder)=((T0*)n);
  1033. }
  1034. _i=r194count(((T194*)a1));
  1035. while (!((_i)==(1)))
  1036. {
  1037. r195add_last((T195*)((/*RF2*/(C)->_remainder/*4*/)),r194item(((T194*)a1),_i));
  1038. _i=(_i)-(1);
  1039. }
  1040. _i=r194count(((T194*)a2));
  1041. while (!((_i)==(0)))
  1042. {
  1043. _cn=r194item(((T194*)a2),_i);
  1044. /*[IF*/
  1045. if((r194index_of(C,_cn))==(0)){
  1046. r195add_last((T195*)((/*RF2*/(C)->_remainder/*4*/)),_cn);
  1047. }
  1048. /*FI]*/
  1049. _i=(_i)-(1);
  1050. }
  1051. }
  1052.  
  1053.  
  1054. T6 r194gives_permission_to_any(T194* C){
  1055. T6 R=0;
  1056. T0* _cn=NULL;
  1057. T2 _i=0;
  1058. _i=r194count(C);
  1059. while (!((R)||((_i)==(0))))
  1060. {
  1061. _cn=r194item(C,_i);
  1062. R=((/*RF2*/(((T61*)_cn))->_to_string/*8*/))==((void*)(((T0*)ms15_696)));
  1063. _i=(_i)-(1);
  1064. }
  1065. return R;
  1066. }
  1067.  
  1068.  
  1069. T2 r194index_of(T194* C,T0* a1){
  1070. T2 R=0;
  1071. T0* _to_string=NULL;
  1072. _to_string=(/*RF2*/(((T61*)a1))->_to_string/*8*/);
  1073. R=r194count(C);
  1074. while (!(((R)==(0))||((_to_string)==((void*)((/*RF2*/((T61*)(r194item(C,R)))->_to_string/*8*/))))))
  1075. {
  1076. R=(R)-(1);
  1077. }
  1078. return R;
  1079. }
  1080.  
  1081.  
  1082. T6 r194gives_permission_to(T194* C,T0* a1){
  1083. T6 R=0;
  1084. T2 _i=0;
  1085. /*[IF*/
  1086. if((r194index_of(C,a1))>(0)){
  1087. R=1;
  1088. }
  1089. else{
  1090. _i=r194count(C);
  1091. while (!((R)||((_i)==(0))))
  1092. {
  1093. R=r61is_subclass_of(((T61*)a1),r194item(C,_i));
  1094. _i=(_i)-(1);
  1095. }
  1096. }
  1097. /*FI]*/
  1098. return R;
  1099. }
  1100.  
  1101.  
  1102. T2 r194count(T194* C){
  1103. T2 R=0;
  1104. /*[IF*/
  1105. if(((/*RF2*/(C)->_remainder/*4*/))==((void*)(NULL))){
  1106. R=1;
  1107. }
  1108. else{
  1109. R=(2)+((/*RF2*/((T195*)((/*RF2*/(C)->_remainder/*4*/)))->_upper/*8*/));
  1110. }
  1111. /*FI]*/
  1112. return R;
  1113. }
  1114.  
  1115.  
  1116. T0* r194item(T194* C,T2 a1){
  1117. T0* R=NULL;
  1118. /*[IF*/
  1119. if((a1)==(1)){
  1120. R=(/*RF2*/(C)->_first/*0*/);
  1121. }
  1122. else{
  1123. R=/*(IRF4.6item*/((/*RF2*/((T195*)((/*RF2*/(C)->_remainder/*4*/)))->_storage/*0*/))[(a1)-(2)]/*)*/;
  1124. }
  1125. /*FI]*/
  1126. return R;
  1127. }
  1128.  
  1129.  
  1130. T6 r102is_always_true(T102* C){
  1131. T6 R=0;
  1132. T0* _assertion=NULL;
  1133. T2 _i=0;
  1134. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1135. R=1;
  1136. while (!((!(R))||((_i)==(0))))
  1137. {
  1138. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  1139. R=r100is_always_true(((T100*)_assertion));
  1140. _i=(_i)-(1);
  1141. }
  1142. return R;
  1143. }
  1144.  
  1145.  
  1146. T0* r102check_assertion_mode(void){
  1147. T0* R=NULL;
  1148. R=((T0*)ms102_999);
  1149. return R;
  1150. }
  1151.  
  1152.  
  1153. void r102make(T102* C,T68 a1,T0* a2,T0* a3){
  1154. (/*SFN*/C->_start_position)=a1;
  1155. (/*SFN*/C->_header_comment)=a2;
  1156. (/*SFN*/C->_list)=a3;
  1157. }
  1158. T0*oBC102c_code=NULL;
  1159.  
  1160.  
  1161. void r102add_into(T102* C,T0* a1){
  1162. T0* _a=NULL;
  1163. T2 _i=0;
  1164. /*[IF*/
  1165. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1166. _i=1;
  1167. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  1168. {
  1169. _a=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  1170. /*[IF*/
  1171. if(!(r101fast_has(((T101*)a1),_a))){
  1172. r101add_last(((T101*)a1),_a);
  1173. }
  1174. /*FI]*/
  1175. _i=(_i)+(1);
  1176. }
  1177. }
  1178. /*FI]*/
  1179. }
  1180.  
  1181.  
  1182. void r102afd_check(T102* C){
  1183. T2 _i=0;
  1184. /*[IF*/
  1185. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1186. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1187. while (!((_i)==(0)))
  1188. {
  1189. r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  1190. _i=(_i)-(1);
  1191. }
  1192. }
  1193. /*FI]*/
  1194. }
  1195.  
  1196.  
  1197. void r102compile_to_c(T102* C){
  1198. T0* _assertion=NULL;
  1199. T6 _need_se_tmp=0;
  1200. T2 _i=0;
  1201. /*[IF*/
  1202. if(r102is_always_true(C)){
  1203. r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
  1204. }
  1205. else{
  1206. /*[IF*/
  1207. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  1208. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
  1209. /*]*/
  1210. }
  1211. else{
  1212. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
  1213. /*]*/
  1214. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1215. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
  1216. /*]*/
  1217. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1218. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
  1219. /*]*/
  1220. }
  1221. /*FI]*/
  1222. _i=1;
  1223. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  1224. {
  1225. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  1226. /*[IF*/
  1227. if(r100is_always_true(((T100*)_assertion))){
  1228. }
  1229. else{
  1230. r100collect_c_tmp(((T100*)_assertion));
  1231. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  1232. /*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r102check_assertion_mode());
  1233. /*]*/
  1234. r100compile_to_c(((T100*)_assertion));
  1235. /*[IF*/
  1236. if(_need_se_tmp){
  1237. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  1238. }
  1239. /*FI]*/
  1240. }
  1241. /*FI]*/
  1242. _i=(_i)+(1);
  1243. }
  1244. /*[IF*/
  1245. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  1246. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
  1247. /*]*/
  1248. }
  1249. else{
  1250. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1251. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
  1252. /*]*/
  1253. }
  1254. /*FI]*/
  1255. }
  1256. /*FI]*/
  1257. }
  1258.  
  1259.  
  1260. void r102make_runnable(T102* C,T68 a1,T0* a2,T0* a3,T0* a4){
  1261. (/*SFN*/C->_start_position)=a1;
  1262. (/*SFN*/C->_list)=a2;
  1263. (/*SFN*/C->_current_type)=a3;
  1264. (/*SFN*/C->_run_feature)=a4;
  1265. }
  1266.  
  1267.  
  1268. void r102c_define(T102* C){
  1269. T2 _id=0;
  1270. _id=X52id((/*RF2*/(C)->_current_type/*16*/));
  1271. r7copy((T7*)(oBC102c_code),((T0*)ms102_81302));
  1272. r2append_in(_id,oBC102c_code);
  1273. r325put_extern7((T325*)(oBC13cpp),oBC102c_code);
  1274. r7copy((T7*)(oBC102c_code),((T0*)ms102_23121));
  1275. r7append((T7*)(oBC102c_code),X52run_time_mark((/*RF2*/(C)->_current_type/*16*/)));
  1276. r7append((T7*)(oBC102c_code),((T0*)ms102_3199));
  1277. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  1278. /*]*/
  1279. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*16*/));
  1280. r7append((T7*)(oBC102c_code),oBC13c_frame_descriptor_format);
  1281. r7append((T7*)(oBC102c_code),((T0*)ms102_2226));
  1282. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC102c_code);
  1283. /*]*/
  1284. /*[IRF3.3clear*/((((T7*)((T7*)(oBC102c_code))))->_count)=(0);
  1285. /*]*/
  1286. r7extend((T7*)(oBC102c_code),((T3)'T'));
  1287. r2append_in(_id,oBC102c_code);
  1288. r7extend((T7*)(oBC102c_code),((T3)'\52'));
  1289. r7append((T7*)(oBC102c_code),((T0*)ms14_1664));
  1290. r2append_in(_id,oBC102c_code);
  1291. r7append((T7*)(oBC102c_code),((T0*)ms102_54809));
  1292. r2append_in(_id,oBC102c_code);
  1293. r7append((T7*)(oBC102c_code),((T0*)ms102_450));
  1294. r325put_c_heading((T325*)(oBC13cpp),oBC102c_code);
  1295. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  1296. /*]*/
  1297. r7copy((T7*)(oBC102c_code),((T0*)ms102_112468));
  1298. r2append_in(_id,oBC102c_code);
  1299. r7append((T7*)(oBC102c_code),((T0*)ms102_16200));
  1300. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC102c_code);
  1301. /*]*/
  1302. r325put_position_in_ds((/*RF2*/(C)->_start_position/*0*/));
  1303. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms102_22710));
  1304. /*]*/
  1305. r102compile_to_c(C);
  1306. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms102_21492));
  1307. /*]*/
  1308. }
  1309.  
  1310.  
  1311. void r296c_mapping_procedure(T0* a1,T0* a2,T0* a3){
  1312. /*[IF*/
  1313. if(r47boost((T47*)(oBC13run_control))){
  1314. r296c_mapping_external((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  1315. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  1316. /*]*/
  1317. }
  1318. else{
  1319. r337default_mapping_procedure(((T337*)a1));
  1320. }
  1321. /*FI]*/
  1322. }
  1323.  
  1324.  
  1325. void r296c_mapping_function(T0* a1,T0* a2,T0* a3){
  1326. /*[IF*/
  1327. if(r47boost((T47*)(oBC13run_control))){
  1328. r296c_mapping_external((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  1329. }
  1330. else{
  1331. r333default_mapping_function(((T333*)a1));
  1332. }
  1333. /*FI]*/
  1334. }
  1335.  
  1336.  
  1337. void r296standard_c_define_procedure(T0* a1,T0* a2,T0* a3){
  1338. /*[IF*/
  1339. {/*AT*//*[IRF3.6c_prototype*/{T337* C1=((T337*)a1);
  1340. r337external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  1341. }/*]*/
  1342. }
  1343. /*FI]*/
  1344. /*[IF*/
  1345. if(r47no_check((T47*)(oBC13run_control))){
  1346. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  1347. /*]*/
  1348. r296wrapped_external_call((/*RF2*/(((T337*)a1))->_base_feature/*24*/),r337arg_count(((T337*)a1)));
  1349. r337c_define_with_body(((T337*)a1),oBC288body);
  1350. }
  1351. /*FI]*/
  1352. }
  1353.  
  1354.  
  1355. void r296standard_c_define_function(T0* a1,T0* a2,T0* a3){
  1356. /*[IF*/
  1357. {/*AT*//*[IRF3.6c_prototype*/{T333* C1=((T333*)a1);
  1358. r333external_prototype(C1,(/*RF2*/(C1)->_base_feature/*24*/));
  1359. }/*]*/
  1360. }
  1361. /*FI]*/
  1362. /*[IF*/
  1363. if(r47no_check((T47*)(oBC13run_control))){
  1364. /*[IRF3.3clear*/((((T7*)((T7*)(oBC288body))))->_count)=(0);
  1365. /*]*/
  1366. r7extend((T7*)(oBC288body),((T3)'R'));
  1367. r7extend((T7*)(oBC288body),((T3)'\75'));
  1368. r296wrapped_external_call((/*RF2*/(((T333*)a1))->_base_feature/*24*/),r333arg_count(((T333*)a1)));
  1369. r333c_define_with_body(((T333*)a1),oBC288body);
  1370. }
  1371. /*FI]*/
  1372. }
  1373.  
  1374.  
  1375. void r296wrapped_external_call(T0* a1,T2 a2){
  1376. T2 _i=0;
  1377. r7append((T7*)(oBC288body),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  1378. r7extend((T7*)(oBC288body),((T3)'\50'));
  1379. /*[IF*/
  1380. /*AF*//*AE*/
  1381. /*FI]*/
  1382. _i=1;
  1383. while (!((_i)>(a2)))
  1384. {
  1385. r7extend((T7*)(oBC288body),((T3)'a'));
  1386. r2append_in(_i,oBC288body);
  1387. _i=(_i)+(1);
  1388. /*[IF*/
  1389. if((_i)<=(a2)){
  1390. r7extend((T7*)(oBC288body),((T3)'\54'));
  1391. }
  1392. /*FI]*/
  1393. }
  1394. r7append((T7*)(oBC288body),((T0*)ms14_330));
  1395. }
  1396.  
  1397.  
  1398. void r296c_mapping_external(T0* a1,T2 a2){
  1399. T6 _tcbd=0;
  1400. T6 _eruc=0;
  1401. _eruc=/*(IRF4.1use_current*/0/*)*/;
  1402. /*[IF*/
  1403. if(!(_eruc)){
  1404. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  1405. /*[IF*/
  1406. if(_tcbd){
  1407. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1408. T3 b1=((T3)'\54');
  1409. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1410. }/*]*/
  1411. /*]*/
  1412. }
  1413. /*FI]*/
  1414. }
  1415. /*FI]*/
  1416. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),/*SSFRF4*//*X289external_c_name*/r291external_c_name(((T291*)a1)));
  1417. /*]*/
  1418. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1419. T3 b1=((T3)'\50');
  1420. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1421. }/*]*/
  1422. /*]*/
  1423. /*[IF*/
  1424. if(_eruc){
  1425. r325put_target_as_value((T325*)(oBC13cpp));
  1426. }
  1427. /*FI]*/
  1428. /*[IF*/
  1429. if((a2)>(0)){
  1430. /*[IF*/
  1431. if(_eruc){
  1432. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1433. T3 b1=((T3)'\54');
  1434. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1435. }/*]*/
  1436. /*]*/
  1437. }
  1438. /*FI]*/
  1439. r325put_arguments((T325*)(oBC13cpp));
  1440. }
  1441. /*FI]*/
  1442. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1443. T3 b1=((T3)'\51');
  1444. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1445. }/*]*/
  1446. /*]*/
  1447. /*[IF*/
  1448. if((!(_eruc))&&(_tcbd)){
  1449. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1450. T3 b1=((T3)'\51');
  1451. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1452. }/*]*/
  1453. /*]*/
  1454. }
  1455. /*FI]*/
  1456. }
  1457.  
  1458.  
  1459. T0* r164add_comment(T164* C,T0* a1){
  1460. T0* R=NULL;
  1461. /*[IF*/
  1462. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  1463. R=((T0*)(C));
  1464. }
  1465. else{
  1466. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  1467. *n=M229;
  1468. r229make(n,(T0*)C,a1);
  1469. R=((T0*)n);
  1470. }
  1471. }
  1472. /*FI]*/
  1473. return R;
  1474. }
  1475.  
  1476.  
  1477. T0* r164to_runnable(T164* C,T0* a1){
  1478. T0* R=NULL;
  1479. T0* _t=NULL;
  1480. R=((T0*)(C));
  1481. _t=r270to_runnable((T270*)(r164result_type()),a1);
  1482. return R;
  1483. }
  1484.  
  1485.  
  1486. T2 r164to_integer(T164* C){
  1487. T2 R=0;
  1488. r164error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  1489. return R;
  1490. }
  1491.  
  1492.  
  1493. void r164error(T68 a1,T0* a2){
  1494. r66add_position(a1);
  1495. /*[IRF3.6append*/{T0* b1=a2;
  1496. r7append((T7*)(oBC66explanation),b1);
  1497. }/*]*/
  1498. r66print_as_error((T66*)(oBC13eh));
  1499. }
  1500. T0*oBC164result_type=NULL;
  1501. int fBC164result_type=0;
  1502.  
  1503.  
  1504. T0* r164result_type(void){
  1505. if(fBC164result_type==0){fBC164result_type=1;{
  1506. T68 _unknown_position={NULL,0};
  1507. {T270*n=((T270*)malloc(sizeof(*n))/*8*/);
  1508. *n=M270;
  1509. oBC164result_type=((T0*)n);
  1510. r270make(n,_unknown_position);
  1511. }
  1512. }}
  1513. return oBC164result_type;
  1514. }
  1515.  
  1516.  
  1517. T0* r164static_result_base_class(void){
  1518. T0* R=NULL;
  1519. R=r49get_class(((T0*)ms15_1168));
  1520. return R;
  1521. }
  1522.  
  1523.  
  1524. void r164make(T164* C,T68 a1,T0* a2){
  1525. (/*SFN*/C->_start_position)=a1;
  1526. (/*SFN*/C->_to_string)=a2;
  1527. }
  1528.  
  1529.  
  1530. T2 r164isa_dca_inline_argument(void){
  1531. T2 R=0;
  1532. /*[IF*/
  1533. /*AF*//*AE*/
  1534. /*FI]*/
  1535. return R;
  1536. }
  1537.  
  1538.  
  1539. void r271standard_c_object_model(T271* C){
  1540. T0* _rc=NULL;
  1541. T2 _mem_id=0;
  1542. _rc=r271run_class(C);
  1543. _mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  1544. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1545. /*]*/
  1546. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  1547. r2append_in(_mem_id,((T0*)ms52_783104));
  1548. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1549. r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
  1550. r2append_in(_mem_id,((T0*)ms52_783104));
  1551. r325put_extern7((T325*)(oBC13cpp),((T0*)ms52_783104));
  1552. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  1553. /*]*/
  1554. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  1555. /*]*/
  1556. r50c_object_model_in(((T50*)_rc),((T0*)ms52_783104));
  1557. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  1558. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1559. /*]*/
  1560. r325swap_on_h((T325*)(oBC13cpp));
  1561. }
  1562.  
  1563.  
  1564. void r271gc_free_in(T0* a1){
  1565. r7append(((T7*)a1),((T0*)ms52_8540));
  1566. r2append_in(7,a1);
  1567. }
  1568.  
  1569.  
  1570. void r271standard_gc_info_in(T0* a1){
  1571. r7append(((T7*)a1),((T0*)ms52_22591a));
  1572. r7append(((T7*)a1),r271run_time_mark());
  1573. r7append(((T7*)a1),((T0*)ms14_5895));
  1574. r271gc_info_nb_in(a1);
  1575. r7append(((T7*)a1),((T0*)ms14_330));
  1576. r7append(((T7*)a1),((T0*)ms52_22591));
  1577. r271gc_store_left_in(a1);
  1578. r7append(((T7*)a1),((T0*)ms14_5895));
  1579. r271gc_store_left_in(a1);
  1580. r7append(((T7*)a1),((T0*)ms14_330));
  1581. }
  1582.  
  1583.  
  1584. T0* r271generic_list(T271* C){
  1585. T0* R=NULL;
  1586. r271fatal_error_generic_list(C);
  1587. return R;
  1588. }
  1589.  
  1590.  
  1591. T0* r271type_string(void){
  1592. if(fBC13type_string==0){fBC13type_string=1;{
  1593. T68 _unknown_position={NULL,0};
  1594. {T271*n=((T271*)malloc(sizeof(*n))/*8*/);
  1595. *n=M271;
  1596. oBC13type_string=((T0*)n);
  1597. r271make(n,_unknown_position);
  1598. }
  1599. }}
  1600. return oBC13type_string;
  1601. }
  1602.  
  1603.  
  1604. void r271cast_to_ref(T271* C){
  1605. X52cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  1606. }
  1607.  
  1608.  
  1609. void r271gc_call_new_in(T0* a1){
  1610. r7append(((T7*)a1),((T0*)ms14_990));
  1611. r2append_in(7,a1);
  1612. r7extend(((T7*)a1),((T3)'\50'));
  1613. r7extend(((T7*)a1),((T3)'\51'));
  1614. }
  1615.  
  1616.  
  1617. void r271standard_c_struct(T271* C){
  1618. T0* _t=NULL;
  1619. T0* _a=NULL;
  1620. T2 _mem_id=0;
  1621. T2 _i=0;
  1622. T0* _wa=NULL;
  1623. _mem_id=7;
  1624. _wa=r50writable_attributes((T50*)(r271run_class(C)));
  1625. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  1626. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  1627. r2append_in(_mem_id,((T0*)ms52_783104));
  1628. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  1629. /*[IF*/
  1630. {/*AT*//*[IF*/
  1631. if(r50is_tagged((T50*)(r271run_class(C)))){
  1632. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_5873));
  1633. }
  1634. /*FI]*/
  1635. }
  1636. /*FI]*/
  1637. /*[IF*/
  1638. if((_wa)!=((void*)(NULL))){
  1639. _i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
  1640. while (!((_i)==(0)))
  1641. {
  1642. _a=r346item(((T346*)_wa),_i);
  1643. _t=X52run_type((/*RF2*/(((T345*)_a))->_result_type/*28*/));
  1644. X52c_type_for_result_in(_t,((T0*)ms52_783104));
  1645. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  1646. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\137'));
  1647. r7append((T7*)(((T0*)ms52_783104)),X82to_string((/*RF2*/(((T345*)_a))->_name/*12*/)));
  1648. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
  1649. _i=(_i)-(1);
  1650. }
  1651. }
  1652. /*FI]*/
  1653. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
  1654. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  1655. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  1656. /*]*/
  1657. /*[IF*/
  1658. /*AF*//*AE*/
  1659. /*FI]*/
  1660. }
  1661.  
  1662.  
  1663. T0* r271base_class(T271* C){
  1664. T0* R=NULL;
  1665. T0* _bcn=NULL;
  1666. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  1667. /*[IF*/
  1668. if((_bcn)!=((void*)(NULL))){
  1669. R=r61base_class(((T61*)_bcn));
  1670. }
  1671. else{
  1672. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  1673. r7append((T7*)(oBC66explanation),b1);
  1674. }/*]*/
  1675. r66add_type((T0*)C,((T0*)ms14_46));
  1676. r66print_as_fatal_error((T66*)(oBC13eh));
  1677. }
  1678. /*FI]*/
  1679. return R;
  1680. }
  1681.  
  1682.  
  1683. void r271gc_store_chunk_in(T0* a1){
  1684. r7append(((T7*)a1),((T0*)ms52_19074));
  1685. r2append_in(7,a1);
  1686. }
  1687.  
  1688.  
  1689. T0* r271look_up_for(T271* C,T0* a1,T0* a2){
  1690. T0* R=NULL;
  1691. R=r51look_up_for((T51*)(r271base_class(C)),a1,a2);
  1692. return R;
  1693. }
  1694.  
  1695.  
  1696. T6 r271has_creation(T271* C,T0* a1){
  1697. T6 R=0;
  1698. R=r51has_creation((T51*)(r271base_class(C)),a1);
  1699. return R;
  1700. }
  1701.  
  1702.  
  1703. void r271gc_align_mark_in(T0* a1){
  1704. r7append(((T7*)a1),((T0*)ms52_24609));
  1705. r2append_in(7,a1);
  1706. }
  1707.  
  1708.  
  1709. T6 r271is_a_in(T271* C,T0* a1,T0* a2){
  1710. T6 R=0;
  1711. T0* _ct=NULL;
  1712. T0* _t2=NULL;
  1713. T0* _t1=NULL;
  1714. /*[IF*/
  1715. if((r271written_mark())==((void*)(X52written_mark(a1)))){
  1716. R=1;
  1717. }
  1718. else{
  1719. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  1720. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  1721. _t2=X52to_runnable(a1,_ct);
  1722. /*[IF*/
  1723. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1724. R=1;
  1725. }
  1726. else{
  1727. R=X52is_a(_t1,_t2);
  1728. }
  1729. /*FI]*/
  1730. }
  1731. /*FI]*/
  1732. return R;
  1733. }
  1734.  
  1735.  
  1736. T6 r271is_native_array(T271* C){
  1737. T6 R=0;
  1738. T0* _tna=NULL;
  1739. _tna=NULL;
  1740. R=(_tna)!=((void*)(NULL));
  1741. return R;
  1742. }
  1743.  
  1744.  
  1745. T6 r271is_a(T271* C,T0* a1){
  1746. T6 R=0;
  1747. /*[IF*/
  1748. if(X52is_string(a1)){
  1749. R=1;
  1750. }
  1751. else{
  1752. R=r51is_subclass_of((T51*)(r271base_class(C)),X52base_class(a1));
  1753. }
  1754. /*FI]*/
  1755. /*[IF*/
  1756. if(!(R)){
  1757. r66add_type((T0*)C,((T0*)ms14_17460));
  1758. r66add_type(a1,((T0*)ms14_46));
  1759. }
  1760. /*FI]*/
  1761. return R;
  1762. }
  1763.  
  1764.  
  1765. void r271make(T271* C,T68 a1){
  1766. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1767. *n=M61;
  1768. r61make(n,((T0*)ms15_4956),a1);
  1769. (/*SFN*/C->_base_class_name)=((T0*)n);
  1770. }
  1771. }
  1772.  
  1773.  
  1774. void r271gc_store_left_in(T0* a1){
  1775. r7append(((T7*)a1),((T0*)ms52_17170));
  1776. r2append_in(7,a1);
  1777. }
  1778.  
  1779.  
  1780. T2 r271c_sizeof_pointer(void){
  1781. T2 R=0;
  1782. T8 _p=NULL;
  1783. R=sizeof(T8);
  1784. return R;
  1785. }
  1786.  
  1787.  
  1788. void r271fatal_error_generic_list(T271* C){
  1789. r66add_type((T0*)C,((T0*)ms52_28899));
  1790. r66print_as_fatal_error((T66*)(oBC13eh));
  1791. }
  1792.  
  1793.  
  1794. T0* r271type_any(void){
  1795. if(fBC13type_any==0){fBC13type_any=1;{
  1796. T68 _unknown_position={NULL,0};
  1797. {T259*n=((T259*)malloc(sizeof(*n))/*8*/);
  1798. *n=M259;
  1799. oBC13type_any=((T0*)n);
  1800. r259make(n,_unknown_position);
  1801. }
  1802. }}
  1803. return oBC13type_any;
  1804. }
  1805.  
  1806.  
  1807. T0* r271smallest_ancestor(T271* C,T0* a1){
  1808. T0* R=NULL;
  1809. T0* _bc2=NULL;
  1810. T0* _bc=NULL;
  1811. T0* _rto=NULL;
  1812. _rto=X52run_type(a1);
  1813. /*[IF*/
  1814. if(X52is_string(_rto)){
  1815. R=((T0*)(C));
  1816. }
  1817.  else if(X52is_none(_rto)){
  1818. R=((T0*)(C));
  1819. }
  1820.  else if(X52is_any(_rto)){
  1821. R=_rto;
  1822. }
  1823.  else if(X52is_expanded(_rto)){
  1824. R=X52smallest_ancestor(_rto,(T0*)C);
  1825. }
  1826. else{
  1827. _bc=r271base_class(C);
  1828. _bc2=X52base_class(_rto);
  1829. /*[IF*/
  1830. if(r51is_subclass_of(((T51*)_bc2),_bc)){
  1831. R=((T0*)(C));
  1832. }
  1833.  else if(r51is_subclass_of(((T51*)_bc),_bc2)){
  1834. R=_rto;
  1835. }
  1836. else{
  1837. R=r271type_any();
  1838. }
  1839. /*FI]*/
  1840. }
  1841. /*FI]*/
  1842. return R;
  1843. }
  1844.  
  1845.  
  1846. void r271standard_gc_define2(T271* C){
  1847. T6 _gc_check_id=0;
  1848. T2 _rcid=0;
  1849. T0* _rc=NULL;
  1850. _rc=r271run_class(C);
  1851. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  1852. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  1853. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1854. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
  1855. r2append_in(_rcid,((T0*)ms52_783104a));
  1856. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
  1857. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
  1858. r2append_in(_rcid,((T0*)ms52_3073536));
  1859. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
  1860. r2append_in(_rcid,((T0*)ms52_3073536));
  1861. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
  1862. r271gc_store_in(((T0*)ms52_3073536));
  1863. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
  1864. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),r271run_class(C));
  1865. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
  1866. r271gc_free_in(((T0*)ms52_3073536));
  1867. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1868. r271gc_free_in(((T0*)ms52_3073536));
  1869. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
  1870. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),r271run_class(C));
  1871. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
  1872. r271gc_free_in(((T0*)ms52_3073536));
  1873. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1874. r271gc_free_in(((T0*)ms52_3073536));
  1875. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
  1876. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1877. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  1878. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1879. r271gc_mark_in(((T0*)ms52_783104a));
  1880. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
  1881. r2append_in(_rcid,((T0*)ms52_783104a));
  1882. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
  1883. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  1884. /*]*/
  1885. _gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
  1886. /*[IF*/
  1887. if(_gc_check_id){
  1888. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
  1889. r2append_in(_rcid,((T0*)ms52_3073536));
  1890. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
  1891. }
  1892. /*FI]*/
  1893. r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
  1894. /*[IF*/
  1895. if(_gc_check_id){
  1896. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
  1897. }
  1898. /*FI]*/
  1899. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1900. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  1901. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  1902. r271gc_align_mark_in(((T0*)ms52_783104a));
  1903. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
  1904. r2append_in(_rcid,((T0*)ms52_783104a));
  1905. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
  1906. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  1907. /*]*/
  1908. r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
  1909. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1910. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
  1911. r2append_in(_rcid,((T0*)ms52_783104a));
  1912. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
  1913. r2append_in(_rcid,((T0*)ms52_3073536));
  1914. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
  1915. r2append_in(_rcid,((T0*)ms52_3073536));
  1916. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
  1917. r2append_in(_rcid,((T0*)ms52_3073536));
  1918. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
  1919. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1920. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
  1921. /*]*/
  1922. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
  1923. r2append_in(_rcid,((T0*)ms52_783104a));
  1924. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  1925. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
  1926. r2append_in(_rcid,((T0*)ms52_783104a));
  1927. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
  1928. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
  1929. r2append_in(_rcid,((T0*)ms52_3073536));
  1930. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
  1931. /*[IF*/
  1932. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  1933. r271gc_info_nb_in(((T0*)ms52_3073536));
  1934. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
  1935. }
  1936. /*FI]*/
  1937. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
  1938. r271gc_store_left_in(((T0*)ms52_3073536));
  1939. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
  1940. r271gc_store_left_in(((T0*)ms52_3073536));
  1941. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
  1942. r271gc_store_in(((T0*)ms52_3073536));
  1943. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
  1944. r271gc_free_in(((T0*)ms52_3073536));
  1945. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
  1946. r271gc_free_in(((T0*)ms52_3073536));
  1947. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1948. r271gc_free_in(((T0*)ms52_3073536));
  1949. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
  1950. r271gc_store_left_in(((T0*)ms52_3073536));
  1951. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
  1952. r271gc_store_left_in(((T0*)ms52_3073536));
  1953. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
  1954. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1955. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
  1956. r271gc_store_in(((T0*)ms52_3073536));
  1957. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
  1958. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
  1959. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1960. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
  1961. r271gc_initialize_chunk(_rcid,((T0*)ms52_3073536));
  1962. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
  1963. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1964. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
  1965. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1966. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
  1967. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1968. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
  1969. r271gc_initialize_chunk(_rcid,((T0*)ms52_3073536));
  1970. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
  1971. r271gc_free_in(((T0*)ms52_3073536));
  1972. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
  1973. r271gc_free_in(((T0*)ms52_3073536));
  1974. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1975. r271gc_free_in(((T0*)ms52_3073536));
  1976. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
  1977. r271gc_store_chunk_in(((T0*)ms52_3073536));
  1978. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
  1979. r271gc_initialize_chunk(_rcid,((T0*)ms52_3073536));
  1980. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
  1981. /*[IF*/
  1982. {/*AT*/r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
  1983. r2append_in(_rcid,((T0*)ms52_3073536));
  1984. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  1985. }
  1986. /*FI]*/
  1987. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
  1988. r2append_in(_rcid,((T0*)ms52_3073536));
  1989. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
  1990. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  1991. }
  1992.  
  1993.  
  1994. void r271c_header_pass4(T271* C){
  1995. r271standard_c_struct(C);
  1996. r271standard_c_object_model(C);
  1997. }
  1998. int fBC271set_at_run_time=0;
  1999.  
  2000.  
  2001. void r271set_at_run_time(void){
  2002. if(fBC271set_at_run_time==0){fBC271set_at_run_time=1;{
  2003. T0* _rf=NULL;
  2004. T0* _rc=NULL;
  2005. T0* _bc=NULL;
  2006. _bc=r271base_class((T271*)(r271type_string()));
  2007. _rc=r271run_class((T271*)(r271type_string()));
  2008. r50set_at_run_time(((T50*)_rc));
  2009. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_11776));
  2010. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_2765a));
  2011. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_8820));
  2012. r50set_at_run_time((T50*)(X52run_class(X334result_type(_rf))));
  2013. }}}
  2014.  
  2015.  
  2016. void r271standard_gc_define1(T271* C){
  2017. T2 _rcid=0;
  2018. T0* _rc=NULL;
  2019. _rc=r271run_class(C);
  2020. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  2021. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
  2022. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  2023. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  2024. r2append_in(_rcid,((T0*)ms52_783104a));
  2025. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2026. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2027. r2append_in(_rcid,((T0*)ms52_783104a));
  2028. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
  2029. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  2030. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  2031. r2append_in(_rcid,((T0*)ms52_783104a));
  2032. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
  2033. r2append_in(_rcid,((T0*)ms52_783104a));
  2034. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
  2035. r2append_in(_rcid,((T0*)ms52_783104a));
  2036. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
  2037. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
  2038. /*]*/
  2039. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2040. r2append_in(_rcid,((T0*)ms52_783104a));
  2041. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  2042. r271gc_store_in(((T0*)ms52_783104a));
  2043. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2044. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  2045. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2046. r271gc_store_left_in(((T0*)ms52_783104a));
  2047. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  2048. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
  2049. r271gc_store_chunk_in(((T0*)ms52_783104a));
  2050. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2051. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  2052. r2append_in(_rcid,((T0*)ms52_783104a));
  2053. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  2054. r271gc_free_in(((T0*)ms52_783104a));
  2055. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  2056. /*[IF*/
  2057. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  2058. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  2059. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  2060. r271gc_info_nb_in(((T0*)ms52_783104a));
  2061. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  2062. }
  2063. /*FI]*/
  2064. }
  2065.  
  2066.  
  2067. void r271id_extra_information(T0* a1){
  2068. r48put_string(((T48*)a1),((T0*)ms52_9724));
  2069. /*[IF*/
  2070. {/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
  2071. }
  2072. /*FI]*/
  2073. }
  2074.  
  2075.  
  2076. void r271standard_just_before_gc_mark_in(T0* a1){
  2077. r271gc_free_in(a1);
  2078. r7extend(((T7*)a1),((T3)'\75'));
  2079. r7append(((T7*)a1),((T0*)ms14_1260));
  2080. r7append(((T7*)a1),((T0*)ms14_138));
  2081. }
  2082.  
  2083.  
  2084. void r271gc_mark_in(T0* a1){
  2085. r7append(((T7*)a1),((T0*)ms14_8764));
  2086. r2append_in(7,a1);
  2087. }
  2088.  
  2089.  
  2090. void r271gc_info_nb_in(T0* a1){
  2091. r7append(((T7*)a1),((T0*)ms52_14920));
  2092. r2append_in(7,a1);
  2093. }
  2094.  
  2095.  
  2096. void r271c_type_for_external_in(T0* a1){
  2097. /*[IF*/
  2098. {/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
  2099. r7extend(((T7*)a1),((T3)'\52'));
  2100. }
  2101. /*FI]*/
  2102. }
  2103.  
  2104.  
  2105. T0* r271run_time_mark(void){
  2106. T0* R=NULL;
  2107. R=((T0*)ms15_4956);
  2108. return R;
  2109. }
  2110.  
  2111.  
  2112. void r271gc_store_in(T0* a1){
  2113. r7append(((T7*)a1),((T0*)ms52_2785));
  2114. r2append_in(7,a1);
  2115. }
  2116.  
  2117.  
  2118. T0* r271run_class(T271* C){
  2119. T0* R=NULL;
  2120. R=r49run_class((T0*)C);
  2121. return R;
  2122. }
  2123.  
  2124.  
  2125. void r271demangling_in(T0* a1){
  2126. /*[IF*/
  2127. {/*AT*/r7extend(((T7*)a1),((T3)'R'));
  2128. }
  2129. /*FI]*/
  2130. r7extend(((T7*)a1),((T3)'\40'));
  2131. r7append(((T7*)a1),r271run_time_mark());
  2132. }
  2133.  
  2134.  
  2135. void r271gc_initialize_chunk(T2 a1,T0* a2){
  2136. r7extend(((T7*)a2),((T3)'\52'));
  2137. r271gc_store_chunk_in(a2);
  2138. r7append(((T7*)a2),((T0*)ms14_266a));
  2139. r2append_in(a1,a2);
  2140. r7append(((T7*)a2),((T0*)ms14_138));
  2141. r271gc_store_in(a2);
  2142. r7append(((T7*)a2),((T0*)ms52_1715));
  2143. r2append_in(a1,a2);
  2144. r7append(((T7*)a2),((T0*)ms52_1005));
  2145. r271gc_store_chunk_in(a2);
  2146. r7append(((T7*)a2),((T0*)ms52_11742));
  2147. r271gc_store_left_in(a2);
  2148. r7append(((T7*)a2),((T0*)ms14_266a));
  2149. r2append_in(a1,a2);
  2150. r7append(((T7*)a2),((T0*)ms52_34060));
  2151. r271gc_store_in(a2);
  2152. r7append(((T7*)a2),((T0*)ms52_2040));
  2153. }
  2154.  
  2155.  
  2156. T0* r271written_mark(void){
  2157. T0* R=NULL;
  2158. R=((T0*)ms15_4956);
  2159. return R;
  2160. }
  2161.  
  2162.  
  2163. void r35print_count(T35* C,T0* a1,T2 a2){
  2164. /*[IF*/
  2165. if((/*RF2*/(C)->_verbose/*0*/)){
  2166. /*[IF*/
  2167. if((a2)>(0)){
  2168. r35put_string(C,((T0*)ms35_4248));
  2169. r35put_string(C,a1);
  2170. /*[IF*/
  2171. if((a2)>(1)){
  2172. r35put_character(C,((T3)'s'));
  2173. }
  2174. /*FI]*/
  2175. r35put_string(C,((T0*)ms35_180));
  2176. r35put_integer(C,a2);
  2177. r35put_string(C,((T0*)ms14_112));
  2178. }
  2179. else{
  2180. r35put_string(C,((T0*)ms35_663));
  2181. r35put_string(C,a1);
  2182. r35put_string(C,((T0*)ms14_112));
  2183. }
  2184. /*FI]*/
  2185. }
  2186. /*FI]*/
  2187. }
  2188.  
  2189.  
  2190. void r35put_string(T35* C,T0* a1){
  2191. /*[IF*/
  2192. if((/*RF2*/(C)->_verbose/*0*/)){
  2193. r36put_string((T36*)(oBC1std_output),a1);
  2194. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  2195. fflush(stdout);
  2196. }/*]*/
  2197. }
  2198. /*FI]*/
  2199. }
  2200.  
  2201.  
  2202. void r35sfr_connect_or_exit(T35* C,T0* a1,T0* a2){
  2203. r35sfr_connect(C,a1,a2);
  2204. /*[IF*/
  2205. if(!(/*(IRF4.7is_connected*/((/*RF2*/(((T40*)a1))->_path/*1*/))!=(NULL)/*)*/)){
  2206. r35w_put_string(((T0*)ms14_3720));
  2207. r35w_put_string(a2);
  2208. r35w_put_string(((T0*)ms35_6929));
  2209. exit(1);
  2210. }
  2211. /*FI]*/
  2212. }
  2213.  
  2214.  
  2215. void r35put_integer(T35* C,T2 a1){
  2216. /*[IF*/
  2217. if((/*RF2*/(C)->_verbose/*0*/)){
  2218. r36put_integer((T36*)(oBC1std_output),a1);
  2219. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  2220. fflush(stdout);
  2221. }/*]*/
  2222. }
  2223. /*FI]*/
  2224. }
  2225.  
  2226.  
  2227. void r35sfr_connect(T35* C,T0* a1,T0* a2){
  2228. r35put_string(C,((T0*)ms35_26208));
  2229. r35put_string(C,a2);
  2230. r35put_string(C,((T0*)ms14_270));
  2231. r40connect_to(((T40*)a1),a2);
  2232. }
  2233.  
  2234.  
  2235. T0* r35read_word_in(T35* C,T0* a1){
  2236. T0* R=NULL;
  2237. r35put_string(C,((T0*)ms35_25179));
  2238. r35put_string(C,(/*RF2*/(((T40*)a1))->_path/*1*/));
  2239. r35put_string(C,((T0*)ms14_270));
  2240. /*[IF*/
  2241. if(r40end_of_input(((T40*)a1))){
  2242. r35w_put_string(((T0*)ms35_72306));
  2243. r35w_put_string((/*RF2*/(((T40*)a1))->_path/*1*/));
  2244. r35w_put_string(((T0*)ms14_270));
  2245. exit(1);
  2246. }
  2247. else{
  2248. r40read_word(((T40*)a1));
  2249. R=r7twin((T7*)(oBC41last_string));
  2250. }
  2251. /*FI]*/
  2252. return R;
  2253. }
  2254.  
  2255.  
  2256. void r35w_put_string(T0* a1){
  2257. r46put_string((T46*)(oBC1std_error),a1);
  2258. /*[IRF3.6flush*/{T46* C1=(T46*)(oBC1std_error);
  2259. fflush(stderr);
  2260. }/*]*/
  2261. }
  2262.  
  2263.  
  2264. void r35w_put_integer(T2 a1){
  2265. r46put_integer((T46*)(oBC1std_error),a1);
  2266. /*[IRF3.6flush*/{T46* C1=(T46*)(oBC1std_error);
  2267. fflush(stderr);
  2268. }/*]*/
  2269. }
  2270.  
  2271.  
  2272. T6 r35file_exists(T0* a1){
  2273. T6 R=0;
  2274. R=r328is_readable(a1);
  2275. return R;
  2276. }
  2277.  
  2278.  
  2279. void r35file_renaming(T35* C,T0* a1,T0* a2){
  2280. r35put_string(C,((T0*)ms35_8390));
  2281. r35put_string(C,a1);
  2282. r35put_string(C,((T0*)ms35_3084));
  2283. r35put_string(C,a2);
  2284. r35put_string(C,((T0*)ms14_270));
  2285. /*[IRF3.6rename_file*/{T0* b1=a1;
  2286. T0* b2=a2;
  2287. r328rename_to(oBC1file_tools,b1,b2);
  2288. }/*]*/
  2289. }
  2290.  
  2291.  
  2292. void r35file_removing(T35* C,T0* a1){
  2293. /*[IF*/
  2294. if(r35file_exists(a1)){
  2295. r35put_string(C,((T0*)ms35_8610));
  2296. r35put_string(C,a1);
  2297. r35put_string(C,((T0*)ms14_270));
  2298. /*[IRF3.6remove_file*/{T0* b1=a1;
  2299. r328delete(oBC1file_tools,b1);
  2300. }/*]*/
  2301. }
  2302. /*FI]*/
  2303. }
  2304.  
  2305.  
  2306. void r35w_put_character(T3 a1){
  2307. /*[IRF3.6put_character*/{T46* C1=(T46*)(oBC1std_error);
  2308. T3 b1=a1;
  2309. putc(b1,((FILE*)(stderr)));
  2310. }/*]*/
  2311. /*[IRF3.6flush*/{T46* C1=(T46*)(oBC1std_error);
  2312. fflush(stderr);
  2313. }/*]*/
  2314. }
  2315. T0*oBC1std_error=NULL;
  2316.  
  2317.  
  2318. void r35put_character(T35* C,T3 a1){
  2319. /*[IF*/
  2320. if((/*RF2*/(C)->_verbose/*0*/)){
  2321. /*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_output);
  2322. T3 b1=a1;
  2323. putc(b1,((FILE*)(stdout)));
  2324. }/*]*/
  2325. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  2326. fflush(stdout);
  2327. }/*]*/
  2328. }
  2329. /*FI]*/
  2330. }
  2331. T0*oBC1std_output=NULL;
  2332.  
  2333.  
  2334. void r35put_double_format(T35* C,T5 a1,T2 a2){
  2335. /*[IF*/
  2336. if((/*RF2*/(C)->_verbose/*0*/)){
  2337. r36put_double_format((T36*)(oBC1std_output),a1,a2);
  2338. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  2339. fflush(stdout);
  2340. }/*]*/
  2341. }
  2342. /*FI]*/
  2343. }
  2344.  
  2345.  
  2346. void r35sfw_connect(T35* C,T0* a1,T0* a2){
  2347. r48connect_to(((T48*)a1),a2);
  2348. /*[IF*/
  2349. if(/*(IRF4.7is_connected*/((/*RF2*/(((T48*)a1))->_path/*0*/))!=(NULL)/*)*/){
  2350. r35put_string(C,((T0*)ms35_7497));
  2351. r35put_string(C,a2);
  2352. r35put_string(C,((T0*)ms35_3688));
  2353. }
  2354. else{
  2355. r35w_put_string(((T0*)ms35_21679));
  2356. r35w_put_string(a2);
  2357. r35w_put_string(((T0*)ms14_270));
  2358. exit(1);
  2359. }
  2360. /*FI]*/
  2361. }
  2362.  
  2363.  
  2364. void r214compile_to_c_old(T214* C){
  2365. T2 _i=0;
  2366. /*[IF*/
  2367. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  2368. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_lower/*12*/);
  2369. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  2370. {
  2371. r100compile_to_c_old((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  2372. _i=(_i)+(1);
  2373. }
  2374. }
  2375. /*FI]*/
  2376. }
  2377.  
  2378.  
  2379. T6 r214is_always_true(T214* C){
  2380. T6 R=0;
  2381. T0* _assertion=NULL;
  2382. T2 _i=0;
  2383. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  2384. R=1;
  2385. while (!((!(R))||((_i)==(0))))
  2386. {
  2387. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  2388. R=r100is_always_true(((T100*)_assertion));
  2389. _i=(_i)-(1);
  2390. }
  2391. return R;
  2392. }
  2393.  
  2394.  
  2395. T0* r214check_assertion_mode(void){
  2396. T0* R=NULL;
  2397. R=((T0*)ms214_978);
  2398. return R;
  2399. }
  2400.  
  2401.  
  2402. void r214make(T214* C,T68 a1,T0* a2,T0* a3){
  2403. (/*SFN*/C->_start_position)=a1;
  2404. (/*SFN*/C->_header_comment)=a2;
  2405. (/*SFN*/C->_list)=a3;
  2406. }
  2407.  
  2408.  
  2409. void r214add_into(T214* C,T0* a1){
  2410. T0* _a=NULL;
  2411. T2 _i=0;
  2412. /*[IF*/
  2413. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  2414. _i=1;
  2415. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  2416. {
  2417. _a=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  2418. /*[IF*/
  2419. if(!(r101fast_has(((T101*)a1),_a))){
  2420. r101add_last(((T101*)a1),_a);
  2421. }
  2422. /*FI]*/
  2423. _i=(_i)+(1);
  2424. }
  2425. }
  2426. /*FI]*/
  2427. }
  2428.  
  2429.  
  2430. void r214afd_check(T214* C){
  2431. T2 _i=0;
  2432. /*[IF*/
  2433. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  2434. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  2435. while (!((_i)==(0)))
  2436. {
  2437. r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  2438. _i=(_i)-(1);
  2439. }
  2440. }
  2441. /*FI]*/
  2442. }
  2443.  
  2444.  
  2445. void r214compile_to_c(T214* C){
  2446. T0* _assertion=NULL;
  2447. T6 _need_se_tmp=0;
  2448. T2 _i=0;
  2449. /*[IF*/
  2450. if(r214is_always_true(C)){
  2451. r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
  2452. }
  2453. else{
  2454. /*[IF*/
  2455. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  2456. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
  2457. /*]*/
  2458. }
  2459. else{
  2460. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
  2461. /*]*/
  2462. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  2463. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
  2464. /*]*/
  2465. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  2466. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
  2467. /*]*/
  2468. }
  2469. /*FI]*/
  2470. _i=1;
  2471. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  2472. {
  2473. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  2474. /*[IF*/
  2475. if(r100is_always_true(((T100*)_assertion))){
  2476. }
  2477. else{
  2478. r100collect_c_tmp(((T100*)_assertion));
  2479. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  2480. /*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r214check_assertion_mode());
  2481. /*]*/
  2482. r100compile_to_c(((T100*)_assertion));
  2483. /*[IF*/
  2484. if(_need_se_tmp){
  2485. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  2486. }
  2487. /*FI]*/
  2488. }
  2489. /*FI]*/
  2490. _i=(_i)+(1);
  2491. }
  2492. /*[IF*/
  2493. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  2494. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
  2495. /*]*/
  2496. }
  2497. else{
  2498. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  2499. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
  2500. /*]*/
  2501. }
  2502. /*FI]*/
  2503. }
  2504. /*FI]*/
  2505. }
  2506.  
  2507.  
  2508. void r214c_declare_for_old(T214* C){
  2509. T2 _i=0;
  2510. /*[IF*/
  2511. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  2512. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_lower/*12*/);
  2513. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  2514. {
  2515. r100c_declare_for_old((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  2516. _i=(_i)+(1);
  2517. }
  2518. }
  2519. /*FI]*/
  2520. }
  2521.  
  2522.  
  2523. T6 r214use_current(T214* C){
  2524. T6 R=0;
  2525. T2 _i=0;
  2526. /*[IF*/
  2527. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  2528. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  2529. while (!((R)||((_i)==(0))))
  2530. {
  2531. R=r100use_current((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  2532. _i=(_i)-(1);
  2533. }
  2534. }
  2535. /*FI]*/
  2536. return R;
  2537. }
  2538.  
  2539.  
  2540. void r214make_runnable(T214* C,T68 a1,T0* a2,T0* a3,T0* a4){
  2541. (/*SFN*/C->_start_position)=a1;
  2542. (/*SFN*/C->_list)=a2;
  2543. (/*SFN*/C->_current_type)=a3;
  2544. (/*SFN*/C->_run_feature)=a4;
  2545. }
  2546.  
  2547.  
  2548. void r386default_mapping_procedure(T386* C){
  2549. r386default_mapping_function(C);
  2550. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  2551. /*]*/
  2552. }
  2553.  
  2554.  
  2555. T2 r386id(T386* C){
  2556. T2 R=0;
  2557. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  2558. return R;
  2559. }
  2560.  
  2561.  
  2562. void r386afd_check(T386* C){
  2563. r386routine_afd_check(C);
  2564. r49afd_check_deferred((T0*)C);
  2565. }
  2566.  
  2567.  
  2568. void r386collect_c_tmp(T386* C){
  2569. T0* _rt=NULL;
  2570. _rt=(/*RF2*/(C)->_result_type/*32*/);
  2571. /*[IF*/
  2572. if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
  2573. /*[IF*/
  2574. if(X52is_dummy_expanded(_rt)){
  2575. }
  2576. else{
  2577. r325se_tmp_add((T0*)C);
  2578. }
  2579. /*FI]*/
  2580. }
  2581. /*FI]*/
  2582. }
  2583.  
  2584.  
  2585. void r386fall_down(T386* C){
  2586. T0* _rf=NULL;
  2587. T0* _sub_name=NULL;
  2588. T0* _sub_bc=NULL;
  2589. T0* _current_bc=NULL;
  2590. T0* _sub_rc=NULL;
  2591. T0* _current_rc=NULL;
  2592. T2 _i=0;
  2593. T0* _running=NULL;
  2594. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  2595. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  2596. /*[IF*/
  2597. if((_running)!=((void*)(NULL))){
  2598. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  2599. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  2600. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  2601. {
  2602. _sub_rc=r53item(((T53*)_running),_i);
  2603. /*[IF*/
  2604. if((_sub_rc)!=((void*)(_current_rc))){
  2605. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  2606. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  2607. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  2608. }
  2609. /*FI]*/
  2610. _i=(_i)+(1);
  2611. }
  2612. }
  2613. /*FI]*/
  2614. }
  2615.  
  2616.  
  2617. void r386c_define(T386* C){
  2618. /*[IF*/
  2619. if(r47no_check((T47*)(oBC13run_control))){
  2620. r386define_prototype(C);
  2621. r386c_define_opening(C);
  2622. r325put_error0((T325*)(oBC13cpp),((T0*)ms386_38160));
  2623. r386c_define_closing(C);
  2624. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
  2625. /*]*/
  2626. r386c_frame_descriptor(C);
  2627. }
  2628. /*FI]*/
  2629. }
  2630.  
  2631.  
  2632. T0* r386clients(T386* C){
  2633. T0* R=NULL;
  2634. T0* _bfbc=NULL;
  2635. T0* _bc=NULL;
  2636. /*[IF*/
  2637. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  2638. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  2639. _bfbc=/*SSWARF2*//*X284base_class*/(/*RF2*/((T287*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  2640. /*[IF*/
  2641. if((_bc)==((void*)(_bfbc))){
  2642. R=/*SSWARF2*//*X284clients*/(/*RF2*/((T287*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  2643. }
  2644. else{
  2645. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  2646. }
  2647. /*FI]*/
  2648. (/*SFN*/C->_clients_memory)=R;
  2649. }
  2650. else{
  2651. R=(/*RF2*/(C)->_clients_memory/*4*/);
  2652. }
  2653. /*FI]*/
  2654. return R;
  2655. }
  2656.  
  2657.  
  2658. void r386put_c_name_tag(T386* C){
  2659. T0* _fn=NULL;
  2660. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2661. T3 b1=((T3)'\42');
  2662. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2663. }/*]*/
  2664. /*]*/
  2665. _fn=/*SSFRF4*//*X284first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T287*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  2666. /*[IF*/
  2667. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  2668. X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
  2669. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  2670. /*]*/
  2671. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2672. T3 b1=((T3)'\40');
  2673. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2674. }/*]*/
  2675. /*]*/
  2676. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2677. T3 b1=((T3)'\50');
  2678. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2679. }/*]*/
  2680. /*]*/
  2681. }
  2682. /*FI]*/
  2683. X82put_cpp_tag(_fn);
  2684. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
  2685. /*]*/
  2686. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
  2687. /*]*/
  2688. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*SSFRF4*//*X284base_class_name*//*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T287*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
  2689. /*]*/
  2690. /*[IF*/
  2691. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  2692. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2693. T3 b1=((T3)'\51');
  2694. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2695. }/*]*/
  2696. /*]*/
  2697. }
  2698. /*FI]*/
  2699. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2700. T3 b1=((T3)'\42');
  2701. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2702. }/*]*/
  2703. /*]*/
  2704. }
  2705.  
  2706.  
  2707. void r386address_of_c_define(T386* C,T0* a1){
  2708. {T68 se_tmp0;
  2709. r66add_position((*(se_tmp0=r150start_position(((T150*)a1)),&se_tmp0)));
  2710. }
  2711. {T68 se_tmp0;
  2712. r66add_position((*(se_tmp0=r386start_position(C),&se_tmp0)));
  2713. }
  2714. r386fatal_error(((T0*)ms386_110836));
  2715. }
  2716.  
  2717.  
  2718. T0* r386run_ensure(T386* C){
  2719. T0* R=NULL;
  2720. R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  2721. return R;
  2722. }
  2723.  
  2724.  
  2725. void r386default_mapping_function(T386* C){
  2726. T6 _tcbd=0;
  2727. T6 _uc=0;
  2728. T6 _no_check=0;
  2729. _no_check=r47no_check((T47*)(oBC13run_control));
  2730. _uc=r386use_current(C);
  2731. /*[IF*/
  2732. if(!(_uc)){
  2733. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  2734. /*[IF*/
  2735. if(_tcbd){
  2736. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2737. T3 b1=((T3)'\54');
  2738. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2739. }/*]*/
  2740. /*]*/
  2741. }
  2742. /*FI]*/
  2743. }
  2744. /*FI]*/
  2745. r386mapping_name(C);
  2746. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2747. T3 b1=((T3)'\50');
  2748. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2749. }/*]*/
  2750. /*]*/
  2751. /*[IF*/
  2752. if(_no_check){
  2753. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
  2754. /*]*/
  2755. }
  2756. /*FI]*/
  2757. /*[IF*/
  2758. if(_uc){
  2759. /*[IF*/
  2760. if(_no_check){
  2761. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2762. T3 b1=((T3)'\54');
  2763. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2764. }/*]*/
  2765. /*]*/
  2766. }
  2767. /*FI]*/
  2768. r325put_target_as_target((T325*)(oBC13cpp));
  2769. }
  2770. /*FI]*/
  2771. /*[IF*/
  2772. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2773. /*[IF*/
  2774. if((_uc)||(_no_check)){
  2775. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2776. T3 b1=((T3)'\54');
  2777. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2778. }/*]*/
  2779. /*]*/
  2780. }
  2781. /*FI]*/
  2782. r325put_arguments((T325*)(oBC13cpp));
  2783. }
  2784. /*FI]*/
  2785. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2786. T3 b1=((T3)'\51');
  2787. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2788. }/*]*/
  2789. /*]*/
  2790. /*[IF*/
  2791. if((!(_uc))&&(_tcbd)){
  2792. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2793. T3 b1=((T3)'\51');
  2794. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2795. }/*]*/
  2796. /*]*/
  2797. }
  2798. /*FI]*/
  2799. }
  2800.  
  2801.  
  2802. void r386make(T386* C,T0* a1,T0* a2,T0* a3){
  2803. (/*SFN*/C->_current_type)=a1;
  2804. (/*SFN*/C->_name)=a2;
  2805. (/*SFN*/C->_base_feature)=a3;
  2806. r50add_rf((T50*)(r386run_class(C)),(T0*)C,X82to_key(a2));
  2807. r49incr_magic_count((T49*)(oBC13small_eiffel));
  2808. (/*SFN*/C->_use_current_state)=23;
  2809. (/*SFN*/C->_stupid_switch_state)=23;
  2810. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  2811. r386initialize(C);
  2812. r49pop((T49*)(oBC13small_eiffel));
  2813. }
  2814.  
  2815.  
  2816. void r386c_assertion_flag(T386* C){
  2817. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2818. /*]*/
  2819. r386c_frame_descriptor_name_in(C,oBC334c_code);
  2820. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  2821. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2822. /*]*/
  2823. }
  2824.  
  2825.  
  2826. void r386c_define_opening(T386* C){
  2827. T0* _oresult=NULL;
  2828. T6 _ensure_check=0;
  2829. T6 _no_check=0;
  2830. T0* _t=NULL;
  2831. _no_check=r47no_check((T47*)(oBC13run_control));
  2832. _ensure_check=r47ensure_check((T47*)(oBC13run_control));
  2833. /*[IF*/
  2834. /*AF*//*AE*/
  2835. /*FI]*/
  2836. /*[IF*/
  2837. /*AF*/if(((/*RF2*/(C)->_result_type/*32*/))!=((void*)(NULL))){
  2838. _t=X52run_type((/*RF2*/(C)->_result_type/*32*/));
  2839. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2840. /*]*/
  2841. X52c_type_for_result_in(_t,oBC334c_code);
  2842. r7append((T7*)(oBC334c_code),((T0*)ms334_525));
  2843. X52c_initialize_in(_t,oBC334c_code);
  2844. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2845. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2846. /*]*/
  2847. /*[IF*/
  2848. if(_no_check){
  2849. r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms334_10538));
  2850. r203increment((T203*)(oBC13c_frame_descriptor_local_count));
  2851. r7append((T7*)(oBC13c_frame_descriptor_format),((T0*)ms15_7314));
  2852. X52c_frame_descriptor(_t);
  2853. }
  2854. /*FI]*/
  2855. }
  2856. /*FI]*/
  2857. /*[IF*/
  2858. /*AF*//*AE*/
  2859. /*FI]*/
  2860. /*[IF*/
  2861. if(_ensure_check){
  2862. /*[IF*/
  2863. if(((/*RF2*/(C)->_ensure_assertion/*40*/))!=((void*)(NULL))){
  2864. r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*40*/)));
  2865. }
  2866. /*FI]*/
  2867. }
  2868. /*FI]*/
  2869. /*[IF*/
  2870. if(_no_check){
  2871. /*[IF*/
  2872. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  2873. r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
  2874. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  2875. /*]*/
  2876. r7extend((T7*)(oBC334c_code),((T3)'\135'));
  2877. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  2878. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2879. /*]*/
  2880. }
  2881. /*FI]*/
  2882. r386c_initialize_ds_one_by_one(C);
  2883. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  2884. T2 _j=0;
  2885. T2 _i=0;
  2886. _j=1;
  2887. while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
  2888. {
  2889. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
  2890. /*]*/
  2891. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
  2892. /*]*/
  2893. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
  2894. /*]*/
  2895. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2896. while (!((_c)==(((T3)'\54'))))
  2897. {
  2898. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2899. T3 b1=_c;
  2900. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2901. }/*]*/
  2902. /*]*/
  2903. _j=(_j)+(1);
  2904. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  2905. }
  2906. _j=(_j)+(1);
  2907. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  2908. /*]*/
  2909. _i=(_i)+(1);
  2910. }
  2911. }/*]*/
  2912. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
  2913. /*]*/
  2914. }
  2915. /*FI]*/
  2916. /*[IF*/
  2917. if(_ensure_check){
  2918. /*[IF*/
  2919. if(((/*RF2*/(C)->_ensure_assertion/*40*/))!=((void*)(NULL))){
  2920. r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*40*/)));
  2921. }
  2922. /*FI]*/
  2923. }
  2924. /*FI]*/
  2925. /*[IF*/
  2926. /*AF*//*AE*/
  2927. /*FI]*/
  2928. /*[IF*/
  2929. /*AF*//*AE*/
  2930. /*FI]*/
  2931. /*[IF*/
  2932. /*AF*//*AE*/
  2933. /*FI]*/
  2934. /*[IF*/
  2935. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  2936. r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  2937. }
  2938. /*FI]*/
  2939. /*[IF*/
  2940. /*AF*//*AE*/
  2941. /*FI]*/
  2942. }
  2943.  
  2944.  
  2945. void r386c_define_closing(T386* C){
  2946. /*[IF*/
  2947. if(r47ensure_check((T47*)(oBC13run_control))){
  2948. /*[IF*/
  2949. if(((/*RF2*/(C)->_ensure_assertion/*40*/))!=((void*)(NULL))){
  2950. r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*40*/)));
  2951. }
  2952. /*FI]*/
  2953. }
  2954. /*FI]*/
  2955. /*[IF*/
  2956. if(r386use_current(C)){
  2957. /*[IF*/
  2958. if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
  2959. r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
  2960. }
  2961. /*FI]*/
  2962. }
  2963. /*FI]*/
  2964. /*[IF*/
  2965. /*AF*//*AE*/
  2966. /*FI]*/
  2967. /*[IF*/
  2968. if(r47no_check((T47*)(oBC13run_control))){
  2969. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
  2970. /*]*/
  2971. }
  2972. /*FI]*/
  2973. }
  2974.  
  2975.  
  2976. void r386initialize(T386* C){
  2977. (/*SFN*/C->_result_type)=X284result_type((/*RF2*/(C)->_base_feature/*24*/));
  2978. (/*SFN*/C->_arguments)=/*SSWARF2*//*X284arguments*/(/*RF2*/((T287*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
  2979. /*[IF*/
  2980. if(((/*RF2*/(C)->_result_type/*32*/))!=((void*)(NULL))){
  2981. /*[IF*/
  2982. if(X52is_like_argument((/*RF2*/(C)->_result_type/*32*/))){
  2983. /*[IF*/
  2984. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  2985. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  2986. *n=M178;
  2987. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  2988. (/*SFN*/C->_arguments)=((T0*)n);
  2989. }
  2990. }
  2991. /*FI]*/
  2992. (/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
  2993. }
  2994. else{
  2995. (/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
  2996. /*[IF*/
  2997. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  2998. /*[IF*/
  2999. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  3000. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  3001. *n=M178;
  3002. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  3003. (/*SFN*/C->_arguments)=((T0*)n);
  3004. }
  3005. }
  3006. /*FI]*/
  3007. }
  3008. /*FI]*/
  3009. }
  3010. /*FI]*/
  3011. }
  3012.  else if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3013. /*[IF*/
  3014. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  3015. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  3016. *n=M178;
  3017. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  3018. (/*SFN*/C->_arguments)=((T0*)n);
  3019. }
  3020. }
  3021. /*FI]*/
  3022. }
  3023. /*FI]*/
  3024. /*[IF*/
  3025. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  3026. (/*SFN*/C->_require_assertion)=r386run_require(C);
  3027. (/*SFN*/C->_ensure_assertion)=r386run_ensure(C);
  3028. }
  3029. /*FI]*/
  3030. }
  3031.  
  3032.  
  3033. void r386compute_stupid_switch(T386* C,T0* a1){
  3034. (/*SFN*/C->_stupid_switch_state)=21;
  3035. }
  3036.  
  3037.  
  3038. void r386mapping_c(T386* C){
  3039. /*[IF*/
  3040. if(r47no_check((T47*)(oBC13run_control))){
  3041. /*[IF*/
  3042. if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
  3043. r386default_mapping_procedure(C);
  3044. }
  3045. else{
  3046. r386default_mapping_function(C);
  3047. }
  3048. /*FI]*/
  3049. }
  3050.  else if(((/*RF2*/(C)->_result_type/*32*/))!=((void*)(NULL))){
  3051. X52c_initialize((/*RF2*/(C)->_result_type/*32*/));
  3052. }
  3053. /*FI]*/
  3054. }
  3055.  
  3056.  
  3057. void r386routine_afd_check(T386* C){
  3058. /*[IF*/
  3059. if(((/*RF2*/(C)->_require_assertion/*36*/))!=((void*)(NULL))){
  3060. r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*36*/)));
  3061. }
  3062. /*FI]*/
  3063. /*[IF*/
  3064. /*AF*//*AE*/
  3065. /*FI]*/
  3066. /*[IF*/
  3067. /*AF*//*AE*/
  3068. /*FI]*/
  3069. /*[IF*/
  3070. if(((/*RF2*/(C)->_ensure_assertion/*40*/))!=((void*)(NULL))){
  3071. r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*40*/)));
  3072. }
  3073. /*FI]*/
  3074. }
  3075.  
  3076.  
  3077. T68 r386start_position(T386* C){
  3078. T68 R={NULL,0};
  3079. {T68 se_tmp0;
  3080. R=(*(se_tmp0=X284start_position((/*RF2*/(C)->_base_feature/*24*/)),&se_tmp0));
  3081. }
  3082. return R;
  3083. }
  3084.  
  3085.  
  3086. T0* r386run_require(T386* C){
  3087. T0* R=NULL;
  3088. R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  3089. return R;
  3090. }
  3091.  
  3092.  
  3093. void r386mapping_name(T386* C){
  3094. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3095. /*]*/
  3096. r7extend((T7*)(oBC334c_code),((T3)'r'));
  3097. r2append_in(r386id(C),oBC334c_code);
  3098. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  3099. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3100. /*]*/
  3101. }
  3102.  
  3103.  
  3104. void r386c_initialize_ds_one_by_one(T386* C){
  3105. r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
  3106. r386c_frame_descriptor_name_in(C,oBC334c_code);
  3107. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  3108. /*[IF*/
  3109. if(r386use_current(C)){
  3110. r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
  3111. }
  3112. else{
  3113. r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
  3114. }
  3115. /*FI]*/
  3116. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3117. /*]*/
  3118. {T68 se_tmp0;
  3119. r325put_position_in_ds((*(se_tmp0=r386start_position(C),&se_tmp0)));
  3120. }
  3121. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
  3122. /*]*/
  3123. /*[IF*/
  3124. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  3125. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
  3126. /*]*/
  3127. }
  3128. /*FI]*/
  3129. }
  3130.  
  3131.  
  3132. T6 r386use_current(T386* C){
  3133. T6 R=0;
  3134. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  3135.  
  3136. if((22==z1)){
  3137. R=1;
  3138. }
  3139.  else 
  3140. if((21==z1)){
  3141. }
  3142.  else 
  3143. if((23==z1)){
  3144. (/*SFN*/C->_use_current_state)=24;
  3145. /*[IRF3.3compute_use_current*/((((T386*)(C)))->_use_current_state)=(22);
  3146. /*]*/
  3147. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  3148. }
  3149.  else {R=1;
  3150. }}
  3151. return R;
  3152. }
  3153.  
  3154.  
  3155. T6 r386is_exported_in(T386* C,T0* a1){
  3156. T6 R=0;
  3157. R=r99gives_permission_to((T99*)(r386clients(C)),a1);
  3158. return R;
  3159. }
  3160.  
  3161.  
  3162. T0* r386run_class(T386* C){
  3163. T0* R=NULL;
  3164. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  3165. return R;
  3166. }
  3167.  
  3168.  
  3169. void r386fatal_error(T0* a1){
  3170. /*[IRF3.6append*/{T0* b1=a1;
  3171. r7append((T7*)(oBC66explanation),b1);
  3172. }/*]*/
  3173. r66print_as_fatal_error((T66*)(oBC13eh));
  3174. }
  3175.  
  3176.  
  3177. T0* r386stupid_switch(T386* C,T0* a1){
  3178. T0* R=NULL;
  3179. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  3180.  
  3181. if((22==z1)){
  3182. R=((T0*)ms386_5579);
  3183. }
  3184.  else 
  3185. if((21==z1)){
  3186. }
  3187.  else 
  3188. if((23==z1)){
  3189. (/*SFN*/C->_stupid_switch_state)=24;
  3190. r386compute_stupid_switch(C,a1);
  3191. /*[IF*/
  3192. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  3193. R=((T0*)ms386_5579);
  3194. }
  3195. /*FI]*/
  3196. }
  3197.  else {}}
  3198. return R;
  3199. }
  3200.  
  3201.  
  3202. void r386define_prototype(T386* C){
  3203. T6 _no_check=0;
  3204. T2 _mem_id=0;
  3205. _no_check=r47no_check((T47*)(oBC13run_control));
  3206. /*[IF*/
  3207. if(r47no_check((T47*)(oBC13run_control))){
  3208. /*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
  3209. /*]*/
  3210. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  3211. /*]*/
  3212. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
  3213. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
  3214. /*]*/
  3215. }
  3216. /*FI]*/
  3217. _mem_id=r386id(C);
  3218. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3219. /*]*/
  3220. /*[IF*/
  3221. if(((/*RF2*/(C)->_result_type/*32*/))==((void*)(NULL))){
  3222. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  3223. }
  3224. else{
  3225. X52c_type_for_result_in(X52run_type((/*RF2*/(C)->_result_type/*32*/)),oBC334c_code);
  3226. }
  3227. /*FI]*/
  3228. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3229. r7extend((T7*)(oBC334c_code),((T3)'r'));
  3230. r2append_in(_mem_id,oBC334c_code);
  3231. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  3232. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  3233. /*[IF*/
  3234. if(_no_check){
  3235. r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
  3236. /*[IF*/
  3237. if((r386use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
  3238. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3239. }
  3240. /*FI]*/
  3241. }
  3242. /*FI]*/
  3243. /*[IF*/
  3244. if(r386use_current(C)){
  3245. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  3246. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3247. r7extend((T7*)(oBC334c_code),((T3)'C'));
  3248. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
  3249. /*[IF*/
  3250. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3251. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3252. }
  3253. /*FI]*/
  3254. }
  3255. /*FI]*/
  3256. /*[IF*/
  3257. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  3258. /*[IF*/
  3259. if(_no_check){
  3260. }
  3261.  else if(!(r386use_current(C))){
  3262. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  3263. }
  3264. /*FI]*/
  3265. }
  3266. else{
  3267. r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  3268. }
  3269. /*FI]*/
  3270. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  3271. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  3272. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  3273. /*]*/
  3274. }
  3275.  
  3276.  
  3277. void r386c_frame_descriptor(T386* C){
  3278. /*[IF*/
  3279. if(r47no_check((T47*)(oBC13run_control))){
  3280. r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
  3281. r386c_frame_descriptor_name_in(C,oBC334c_code);
  3282. r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
  3283. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3284. T3 b1=((T3)'\173');
  3285. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3286. }/*]*/
  3287. /*]*/
  3288. r386put_c_name_tag(C);
  3289. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3290. /*]*/
  3291. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3292. /*[IF*/
  3293. if(r386use_current(C)){
  3294. r7extend((T7*)(oBC334c_code),((T3)'1'));
  3295. }
  3296. else{
  3297. r7extend((T7*)(oBC334c_code),((T3)'0'));
  3298. }
  3299. /*FI]*/
  3300. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3301. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  3302. /*]*/
  3303. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3304. r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
  3305. r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
  3306. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3307. /*]*/
  3308. }
  3309. /*FI]*/
  3310. }
  3311.  
  3312.  
  3313. void r386fe_vffd7(T386* C){
  3314. {T68 se_tmp0;
  3315. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
  3316. }
  3317. r386fatal_error(((T0*)ms334_203069));
  3318. }
  3319.  
  3320.  
  3321. void r386c_frame_descriptor_name_in(T386* C,T0* a1){
  3322. r7extend(((T7*)a1),((T3)'f'));
  3323. r2append_in(r386id(C),a1);
  3324. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  3325. }
  3326.  
  3327.  
  3328. void r179refer_to(T179* C,T68 a1,T0* a2,T2 a3){
  3329. (/*SFN*/C->_start_position)=a1;
  3330. (/*SFN*/C->_formal_arg_list)=a2;
  3331. (/*SFN*/C->_rank)=a3;
  3332. }
  3333.  
  3334.  
  3335. T0* r179add_comment(T179* C,T0* a1){
  3336. T0* R=NULL;
  3337. /*[IF*/
  3338. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  3339. R=((T0*)(C));
  3340. }
  3341. else{
  3342. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  3343. *n=M229;
  3344. r229make(n,(T0*)C,a1);
  3345. R=((T0*)n);
  3346. }
  3347. }
  3348. /*FI]*/
  3349. return R;
  3350. }
  3351.  
  3352.  
  3353. void r179with(T179* C,T0* a1,T0* a2){
  3354. *((T179*)(C))=*((T179*)(a1));
  3355. (/*SFN*/C->_formal_arg_list)=a2;
  3356. }
  3357.  
  3358.  
  3359. void r179mapping_c_target(T179* C,T0* a1){
  3360. T0* _rt=NULL;
  3361. T6 _flag=0;
  3362. _flag=r325call_invariant_start(a1);
  3363. _rt=X52run_type(r179result_type(C));
  3364. /*[IF*/
  3365. if(X52is_reference(_rt)){
  3366. /*[IF*/
  3367. if(X52is_reference(a1)){
  3368. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_492));
  3369. /*]*/
  3370. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
  3371. /*]*/
  3372. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_166));
  3373. /*]*/
  3374. r325print_argument((T325*)(oBC13cpp),(/*RF2*/(C)->_rank/*12*/));
  3375. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3376. T3 b1=((T3)'\51');
  3377. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3378. }/*]*/
  3379. /*]*/
  3380. }
  3381. else{
  3382. r325print_argument((T325*)(oBC13cpp),(/*RF2*/(C)->_rank/*12*/));
  3383. }
  3384. /*FI]*/
  3385. }
  3386.  else if(X52is_reference(a1)){
  3387. r325print_argument((T325*)(oBC13cpp),(/*RF2*/(C)->_rank/*12*/));
  3388. }
  3389.  else if(X52is_user_expanded(_rt)){
  3390. /*[IF*/
  3391. if(!(X52is_dummy_expanded(_rt))){
  3392. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3393. T3 b1=((T3)'\46');
  3394. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3395. }/*]*/
  3396. /*]*/
  3397. }
  3398. /*FI]*/
  3399. r325print_argument((T325*)(oBC13cpp),(/*RF2*/(C)->_rank/*12*/));
  3400. }
  3401. else{
  3402. r325print_argument((T325*)(oBC13cpp),(/*RF2*/(C)->_rank/*12*/));
  3403. }
  3404. /*FI]*/
  3405. /*[IF*/
  3406. if(_flag){
  3407. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  3408. T3 b1=((T3)'\51');
  3409. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3410. }/*]*/
  3411. /*]*/
  3412. }
  3413. /*FI]*/
  3414. }
  3415.  
  3416.  
  3417. T0* r179to_runnable(T179* C,T0* a1){
  3418. T0* R=NULL;
  3419. T0* _fal=NULL;
  3420. T0* _rf=NULL;
  3421. _rf=r49top_rf((T49*)(oBC13small_eiffel));
  3422. _fal=X334arguments(_rf);
  3423. /*[IF*/
  3424. if(((/*RF2*/(C)->_formal_arg_list/*16*/))==((void*)(_fal))){
  3425. R=((T0*)(C));
  3426. }
  3427. else{
  3428. {T179*n=((T179*)malloc(sizeof(*n))/*20*/);
  3429. *n=M179;
  3430. r179with(n,(T0*)C,_fal);
  3431. R=((T0*)n);
  3432. }
  3433. }
  3434. /*FI]*/
  3435. return R;
  3436. }
  3437.  
  3438.  
  3439. T2 r179to_integer(T179* C){
  3440. T2 R=0;
  3441. r179error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  3442. return R;
  3443. }
  3444.  
  3445.  
  3446. T0* r179to_string(T179* C){
  3447. T0* R=NULL;
  3448. R=(/*RF2*/((T181*)(/*(IRF4.6name*/r182item(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_formal_arg_list/*16*/)))->_flat_list/*8*/))),(/*RF2*/(C)->_rank/*12*/))/*)*/))->_to_string/*12*/);
  3449. return R;
  3450. }
  3451.  
  3452.  
  3453. void r179error(T68 a1,T0* a2){
  3454. r66add_position(a1);
  3455. /*[IRF3.6append*/{T0* b1=a2;
  3456. r7append((T7*)(oBC66explanation),b1);
  3457. }/*]*/
  3458. r66print_as_error((T66*)(oBC13eh));
  3459. }
  3460.  
  3461.  
  3462. T0* r179result_type(T179* C){
  3463. T0* R=NULL;
  3464. R=r178type((T178*)((/*RF2*/(C)->_formal_arg_list/*16*/)),(/*RF2*/(C)->_rank/*12*/));
  3465. return R;
  3466. }
  3467.  
  3468.  
  3469. T0* r179static_result_base_class(T179* C){
  3470. T0* R=NULL;
  3471. T0* _bcn=NULL;
  3472. _bcn=X52static_base_class_name(r179result_type(C));
  3473. /*[IF*/
  3474. if((_bcn)!=((void*)(NULL))){
  3475. R=r61base_class(((T61*)_bcn));
  3476. }
  3477. /*FI]*/
  3478. return R;
  3479. }
  3480.  
  3481.  
  3482. T6 r179stupid_switch(T179* C,T0* a1){
  3483. T6 R=0;
  3484. /*[IF*/
  3485. if(r49stupid_switch(r179result_type(C),a1)){
  3486. R=1;
  3487. }
  3488. /*FI]*/
  3489. return R;
  3490. }
  3491.  
  3492.  
  3493. T0* r21key_for_prefix_infix(T0* a1,T0* a2){
  3494. T0* R=NULL;
  3495. T3 _c=0;
  3496. T2 _i=0;
  3497. r7copy((T7*)(((T0*)ms21_107916)),a1);
  3498. _i=1;
  3499. while (!((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/))))
  3500. {
  3501. _c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
  3502. /*[IF*/
  3503. if(r3is_letter(_c)){
  3504. r7extend((T7*)(((T0*)ms21_107916)),_c);
  3505. }
  3506. else{
  3507. r2append_in(T3code(_c),((T0*)ms21_107916));
  3508. }
  3509. /*FI]*/
  3510. _i=(_i)+(1);
  3511. }
  3512. R=r21item(((T0*)ms21_107916));
  3513. return R;
  3514. }
  3515.  
  3516.  
  3517. T0* r21item(T0* a1){
  3518. T0* R=NULL;
  3519. /*[IF*/
  3520. if(r23has((T23*)(oBC21memory),a1)){
  3521. R=r23at((T23*)(oBC21memory),a1);
  3522. }
  3523. else{
  3524. R=r7twin(((T7*)a1));
  3525. r23put((T23*)(oBC21memory),R,R);
  3526. }
  3527. /*FI]*/
  3528. return R;
  3529. }
  3530.  
  3531.  
  3532. T0* r21for_prefix(T0* a1){
  3533. T0* R=NULL;
  3534. R=r21key_for_prefix_infix(((T0*)ms21_1660),a1);
  3535. return R;
  3536. }
  3537.  
  3538.  
  3539. void r21add2(T0* a1){
  3540. /*[IF*/
  3541. if((/*RF2*/((T34*)(oBC13eiffel_parser))->_case_insensitive/*0*/)){
  3542. r7to_lower(((T7*)a1));
  3543. }
  3544. /*FI]*/
  3545. /*[IRF3.6add1*/{T0* b1=a1;
  3546. r23put((T23*)(oBC21memory),b1,b1);
  3547. }/*]*/
  3548. }
  3549.  
  3550.  
  3551. T0* r21for_infix(T0* a1){
  3552. T0* R=NULL;
  3553. R=r21key_for_prefix_infix(((T0*)ms21_1688),a1);
  3554. return R;
  3555. }
  3556. T0*oBC21memory=NULL;
  3557.  
  3558.  
  3559. T0* r197to_cst_att_character(T197* C,T0* a1){
  3560. T0* R=NULL;
  3561. r197to_cst_att_check_result_type(C);
  3562. /*[IF*/
  3563. if(X52is_character((/*RF2*/(*C)._type/*4*/))){
  3564. {T205*n=((T205*)malloc(sizeof(*n))/*28*/);
  3565. *n=M205;
  3566. r205make(n,r197n(),(/*RF2*/(*C)._type/*4*/),a1);
  3567. R=((T0*)n);
  3568. }
  3569. }
  3570. else{
  3571. {T68 se_tmp0;
  3572. r197error((*(se_tmp0=X52start_position((/*RF2*/(*C)._type/*4*/)),&se_tmp0)),((T0*)ms197_157734));
  3573. }
  3574. }
  3575. /*FI]*/
  3576. return R;
  3577. }
  3578.  
  3579.  
  3580. void r197error(T68 a1,T0* a2){
  3581. r66add_position(a1);
  3582. /*[IRF3.6append*/{T0* b1=a2;
  3583. r7append((T7*)(oBC66explanation),b1);
  3584. }/*]*/
  3585. r66print_as_error((T66*)(oBC13eh));
  3586. }
  3587.  
  3588.